diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 59d7b9292..000000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.dockerignore b/.dockerignore index be3ad21e3..56e5c07ae 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,43 +15,18 @@ Logos/ **/publish/ # IDE files -.vs/ -.vscode/ -*.user -*.suo -*.userosscache -*.sln.docstates - -# Test files -**/TestHarness/ -**/UnitTests/ -**/IntegrationTests/ -**/TestResults/ - -# Logs -*.log -build.log -build_errors.txt - -# Archives -*.zip -*.rar -*.7z - -# Node modules (if any) -node_modules/ -npm-debug.log* +**/.vs/ +**/.vscode/ -# Temporary files -*.tmp -*.temp -.DS_Store -Thumbs.db +# Node modules +**/node_modules/ +**/npm-debug.log* # Large directories that aren't needed for build Archived/ -External Libs/ +# External Libs/ # Needed for build now lumina-j5-bootstrap/ +_CLEANUP_ARCHIVE/ # Package files *.nupkg diff --git a/.gitignore b/.gitignore index 3af18977c..6be0e9fb0 100644 --- a/.gitignore +++ b/.gitignore @@ -276,10 +276,10 @@ NextGenSoftware.OASIS.API.ONODE.WebUI.HTML/react-app/yarn.lock /STAR ODK/OAPPTemplates/Source/final/OAPPTemplateDNA.json /STAR ODK/OAPPTemplates/Source/super /STAR ODK/OAPPTemplates -/STAR ODK -/STAR ODK/Runtimes -/STAR ODK/Runtimes/OASIS Runtime -/STAR ODK/Runtimes/STAR Runtime +#/STAR ODK +#/STAR ODK/Runtimes +#/STAR ODK/Runtimes/OASIS Runtime +#/STAR ODK/Runtimes/STAR Runtime /STAR ODK/STAR OAPP DNA Templates /STAR ODK/STAR OAPP DNA Templates/hello world! /STAR ODK/STAR OAPP DNA Templates/NextGenSoftware.OASIS.STAR.DNATemplates.OAPP.Base diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 9b18dec14..000000000 --- a/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -# Use the official .NET 9 runtime as base image -FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -# Use the .NET 9 SDK for building -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build -WORKDIR /src - -# Copy the entire OASIS project structure (now including external libraries) -COPY . . - -# Build the STAR WebAPI project -WORKDIR "/src/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI" - -# Restore and build -RUN dotnet restore "NextGenSoftware.OASIS.STAR.WebAPI.csproj" -RUN dotnet build "NextGenSoftware.OASIS.STAR.WebAPI.csproj" -c Release -o /app/build - -# Publish the application -FROM build AS publish -WORKDIR "/src/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI" -RUN dotnet publish "NextGenSoftware.OASIS.STAR.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false - -# Final stage -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . - -# Set environment variables -ENV ASPNETCORE_ENVIRONMENT=Production -ENV ASPNETCORE_URLS=http://+:8080 - -# Health check -HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ - CMD curl -f http://localhost:8080/api/health || exit 1 - -ENTRYPOINT ["dotnet", "NextGenSoftware.OASIS.STAR.WebAPI.dll"] diff --git a/Dockerfile.star-api b/Dockerfile.star-api deleted file mode 100644 index 6166f66ae..000000000 --- a/Dockerfile.star-api +++ /dev/null @@ -1,52 +0,0 @@ -# Use the official .NET 9 runtime as base image -FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -# Use the .NET 9 SDK for building -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build -WORKDIR /src - -# Copy the entire OASIS project structure -COPY . . - -# Copy external libraries to a location within the build context -COPY external-libs/NextGenSoftware-Libraries/NextGenSoftware\ Libraries/ NextGenSoftware-Libraries/NextGenSoftware\ Libraries/ - -# Clone holochain-client-csharp from GitHub -RUN apt-get update && apt-get install -y git -RUN git clone https://github.com/NextGenSoftwareUK/holochain-client-csharp.git temp-holo -RUN mkdir -p "Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/holochain-client-csharp" -RUN cp -r temp-holo/* "Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/holochain-client-csharp/" - -# Clean up -RUN rm -rf temp-holo -RUN apt-get clean && rm -rf /var/lib/apt/lists/* - -# Build the STAR WebAPI project from the root directory -WORKDIR "/src" - -# Restore and build -RUN dotnet restore "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj" -RUN dotnet build "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj" -c Release -o /app/build - -# Publish the application -FROM build AS publish -WORKDIR "/src" -RUN dotnet publish "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false - -# Final stage -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . - -# Set environment variables -ENV ASPNETCORE_ENVIRONMENT=Production -ENV ASPNETCORE_URLS=http://+:8080 - -# Health check -HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ - CMD curl -f http://localhost:8080/api/health || exit 1 - -ENTRYPOINT ["dotnet", "NextGenSoftware.OASIS.STAR.WebAPI.dll"] \ No newline at end of file diff --git a/External Libs/NextGenSoftware-Libraries b/External Libs/NextGenSoftware-Libraries new file mode 160000 index 000000000..3c4726d70 --- /dev/null +++ b/External Libs/NextGenSoftware-Libraries @@ -0,0 +1 @@ +Subproject commit 3c4726d70ed96303f8f4263873181cdde0d5d96d diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Enums/AvatarType.cs b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Enums/AvatarType.cs index 39947a6cb..c435f00ec 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Enums/AvatarType.cs +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Enums/AvatarType.cs @@ -4,6 +4,7 @@ public enum AvatarType { Wizard, User, - System + System, + Admin } } diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager-Private.cs b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager-Private.cs index 549201fe8..6cbcd42d1 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager-Private.cs +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager-Private.cs @@ -205,76 +205,6 @@ private OASISResult PrepareToRegisterAvatarDetail(Guid avatarId, CreatedByAvatarId = avatarId }; - // TODO: Temp! Remove later! - if (email == "davidellams@hotmail.com") - { - avatarDetail.Karma = 777777; - avatarDetail.XP = 2222222; - - avatarDetail.GeneKeys.Add(new GeneKey() { Name = "Expectation", Gift = "a gift", Shadow = "a shadow", Sidhi = "a sidhi" }); - avatarDetail.GeneKeys.Add(new GeneKey() { Name = "Invisibility", Gift = "a gift", Shadow = "a shadow", Sidhi = "a sidhi" }); - avatarDetail.GeneKeys.Add(new GeneKey() { Name = "Rapture", Gift = "a gift", Shadow = "a shadow", Sidhi = "a sidhi" }); - - avatarDetail.HumanDesign.Type = "Generator"; - //avatarDetail.Inventory.Add(new InventoryItem() { Name = "Magical Armour" }); - //avatarDetail.Inventory.Add(new InventoryItem() { Name = "Mighty Wizard Sword" }); - - avatarDetail.Spells.Add(new Spell() { Name = "Super Spell" }); - avatarDetail.Spells.Add(new Spell() { Name = "Super Speed Spell" }); - avatarDetail.Spells.Add(new Spell() { Name = "Super Srength Spell" }); - - avatarDetail.Achievements.Add(new Achievement() { Name = "Becoming Superman!" }); - avatarDetail.Achievements.Add(new Achievement() { Name = "Completing STAR!" }); - - avatarDetail.Gifts.Add(new AvatarGift() { GiftType = KarmaTypePositive.BeASuperHero }); - - avatarDetail.Aura.Brightness = 99; - avatarDetail.Aura.Level = 77; - avatarDetail.Aura.Progress = 88; - avatarDetail.Aura.Size = 10; - avatarDetail.Aura.Value = 777; - - avatarDetail.Chakras.Root.Level = 77; - avatarDetail.Chakras.Root.Progress = 99; - avatarDetail.Chakras.Root.XP = 8783; - - avatarDetail.Attributes.Dexterity = 99; - avatarDetail.Attributes.Endurance = 99; - avatarDetail.Attributes.Intelligence = 99; - avatarDetail.Attributes.Magic = 99; - avatarDetail.Attributes.Speed = 99; - avatarDetail.Attributes.Strength = 99; - avatarDetail.Attributes.Toughness = 99; - avatarDetail.Attributes.Vitality = 99; - avatarDetail.Attributes.Wisdom = 99; - - avatarDetail.Stats.Energy.Current = 99; - avatarDetail.Stats.Energy.Max = 99; - avatarDetail.Stats.HP.Current = 99; - avatarDetail.Stats.HP.Max = 99; - avatarDetail.Stats.Mana.Current = 99; - avatarDetail.Stats.Mana.Max = 99; - avatarDetail.Stats.Stamina.Current = 99; - avatarDetail.Stats.Stamina.Max = 99; - - avatarDetail.SuperPowers.AstralProjection = 99; - avatarDetail.SuperPowers.BioLocatation = 88; - avatarDetail.SuperPowers.Flight = 99; - avatarDetail.SuperPowers.FreezeBreath = 88; - avatarDetail.SuperPowers.HeatVision = 99; - avatarDetail.SuperPowers.Invulnerability = 99; - avatarDetail.SuperPowers.SuperSpeed = 99; - avatarDetail.SuperPowers.SuperStrength = 99; - avatarDetail.SuperPowers.XRayVision = 99; - avatarDetail.SuperPowers.Teleportation = 99; - avatarDetail.SuperPowers.Telekinesis = 99; - - avatarDetail.Skills.Computers = 99; - avatarDetail.Skills.Engineering = 99; - } - - //avatarDetail.CreatedDate = DateTime.UtcNow; - result.Result = avatarDetail; return result; } diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager.cs b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager.cs index 78ceb27fa..6a052da3c 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager.cs +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/AvatarManager/AvatarManager.cs @@ -366,6 +366,81 @@ public async Task> RegisterAsync(string avatarTitle, string return result; } + public async Task> RegisterAdminAsync(string adminFirstName, string adminLastName, string adminEmail, string adminUsername, string adminPassword, OASISType createdOASISType = OASISType.OASISBootLoader, ConsoleColor cliColour = ConsoleColor.Red, ConsoleColor favColour = ConsoleColor.Red, string avatarTitle = "Admin", AvatarType avatarType = AvatarType.Admin) + { + OASISResult result = new OASISResult(); + + try + { + // First try by username... + result = await LoadAvatarAsync(adminUsername, false, false); + + if (result.Result == null) + { + // Now try by email... + result = await LoadAvatarByEmailAsync(adminEmail, false, false); + } + + if (result.Result != null) + { + result.Message = "Avatar already exists."; + result.IsError = false; + return result; + } + + result = await PrepareToRegisterAvatarAsync(avatarTitle, adminFirstName, adminLastName, adminEmail, adminPassword, adminUsername, avatarType, createdOASISType); + + if (result != null && !result.IsError && result.Result != null) + { + // Manually verify and activate the admin account immediately + result.Result.Verified = DateTime.Now; + result.Result.IsActive = true; + result.Result.VerificationToken = null; // Clear token as it's already verified + + // AvatarDetail needs to have the same unique ID as Avatar so the records match (they will have unique/different provider keys per each provider) + OASISResult avatarDetailResult = PrepareToRegisterAvatarDetail(result.Result.Id, result.Result.Username, result.Result.Email, createdOASISType, cliColour, favColour); + + if (avatarDetailResult != null && !avatarDetailResult.IsError && avatarDetailResult.Result != null) + { + OASISResult saveAvatarResult = await SaveAvatarAsync(result.Result); + + if (!saveAvatarResult.IsError && saveAvatarResult.IsSaved) + { + result.Result = saveAvatarResult.Result; + OASISResult saveAvatarDetailResult = await SaveAvatarDetailAsync(avatarDetailResult.Result); + + if (saveAvatarDetailResult != null && !saveAvatarDetailResult.IsError && saveAvatarDetailResult.Result != null) + { + // result = AvatarRegistered(result); // Don't call this as it sends verification email! + result.Result = HideAuthDetails(result.Result); + result.IsSaved = true; + result.Message = "Admin Account Created Successfully."; + } + else + { + result.Message = saveAvatarDetailResult.Message; + result.IsError = saveAvatarDetailResult.IsError; + result.IsSaved = saveAvatarDetailResult.IsSaved; + } + } + else + { + result.Message = saveAvatarResult.Message; + result.IsError = saveAvatarResult.IsError; + result.IsSaved = saveAvatarResult.IsSaved; + } + } + } + } + catch (Exception ex) + { + OASISErrorHandling.HandleError(ref result, string.Concat("Unknown error occured in RegisterAdminAsync method in AvatarManager. Error Message: ", ex.Message), ex); + result.Result = null; + } + + return result; + } + public OASISResult BeamOut(IAvatar avatar, AutoReplicationMode autoReplicationMode = AutoReplicationMode.UseGlobalDefaultInOASISDNA, AutoFailOverMode autoFailOverMode = AutoFailOverMode.UseGlobalDefaultInOASISDNA, AutoLoadBalanceMode autoLoadBalanceMode = AutoLoadBalanceMode.UseGlobalDefaultInOASISDNA, bool waitForAutoReplicationResult = false, ProviderType providerType = ProviderType.Default) { OASISResult result = new OASISResult(); diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/NextGenSoftware.OASIS.API.Core.csproj b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/NextGenSoftware.OASIS.API.Core.csproj index ec32af011..c5ff37c94 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.Core/NextGenSoftware.OASIS.API.Core.csproj +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.Core/NextGenSoftware.OASIS.API.Core.csproj @@ -58,8 +58,7 @@ - - + diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASISDNA.cs b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASISDNA.cs index 7b279483f..a1fe0fab2 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASISDNA.cs +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASISDNA.cs @@ -11,6 +11,15 @@ public class OASISDNA public OASIS OASIS { get; set; } } + public class AdminConfig + { + public string AdminEmail { get; set; } + public string AdminUsername { get; set; } + public string AdminPassword { get; set; } + public string AdminFirstName { get; set; } + public string AdminLastName { get; set; } + } + public class OASIS { //public string CurrentLiveVersion { get; set; } @@ -41,6 +50,8 @@ public class OASIS // Stats caching controls public bool StatsCacheEnabled { get; set; } = false; public int StatsCacheTtlSeconds { get; set; } = 45; + + public List Admins { get; set; } = new List(); } public class SecuritySettings diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA copy.json b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA copy.json new file mode 100644 index 000000000..597da2633 --- /dev/null +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA copy.json @@ -0,0 +1,296 @@ +{ + "OASIS": { + "Terms": "Please be kind and respectful to everyone including animals and nature and work hard to co-create a better world for all! Enjoy your stay! :)", + "Logging": { + "LoggingFramework": "Default", + "AlsoUseDefaultLogProvider": false, + "FileLoggingMode": 0, + "ConsoleLoggingMode": 1, + "LogToConsole": true, + "ShowColouredLogs": true, + "DebugColour": 15, + "InfoColour": 10, + "WarningColour": 14, + "ErrorColour": 12, + "LogToFile": false, + "LogPath": "C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS", + "LogFileName": "C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS", + "MaxLogFileSize": 1000000, + "NumberOfRetriesToLogToFile": 3, + "RetryLoggingToFileEverySeconds": 1, + "InsertExtraNewLineAfterLogMessage": false, + "IndentLogMessagesBy": 1 + }, + "ErrorHandling": { + "ShowStackTrace": false, + "ThrowExceptionsOnErrors": false, + "ThrowExceptionsOnWarnings": false, + "LogAllErrors": true, + "LogAllWarnings": true, + "ErrorHandlingBehaviour": 1, + "WarningHandlingBehaviour": 1 + }, + "Security": { + "HideVerificationToken": true, + "HideRefreshTokens": true, + "SecretKey": "98765432-ABCD-EF01-2345-678901234567-SECRET-KEY", + "RemoveOldRefreshTokensAfterXDays": 0, + "AvatarPassword": { + "BCryptEncryptionEnabled": true, + "Rijndael256EncryptionEnabled": true, + "Rijndael256Key": "", + "QuantumEncryptionEnabled": true + }, + "OASISProviderPrivateKeys": { + "BCryptEncryptionEnabled": true, + "Rijndael256EncryptionEnabled": true, + "Rijndael256Key": "", + "QuantumEncryptionEnabled": true + } + }, + "Email": { + "EmailFrom": "", + "SmtpHost": "", + "SmtpPort": 25, + "SmtpUser": "", + "SmtpPass": "", + "DisableAllEmails": true, + "SendVerificationEmail": false, + "OASISWebSiteURL": "https://oasisweb4.one/#" + }, + "StorageProviders": { + "ProviderMethodCallTimeOutSeconds": 99, + "ActivateProviderTimeOutSeconds": 10, + "DectivateProviderTimeOutSeconds": 10, + "AutoReplicationEnabled": false, + "AutoFailOverEnabled": true, + "AutoLoadBalanceEnabled": true, + "AutoLoadBalanceReadPollIntervalMins": 10, + "AutoLoadBalanceWritePollIntervalMins": 10, + "AutoReplicationProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoLoadBalanceProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoFailOverProviders": "MongoDBOASIS, ArbitrumOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoFailOverProvidersForAvatarLogin": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfEmailAlreadyInUse": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfUsernameAlreadyInUse": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfOASISSystemAccountExists": "MongoDBOASIS", + "OASISProviderBootType": "Warm", + "AzureCosmosDBOASIS": { + "ServiceEndpoint": "", + "AuthKey": "", + "DBName": "", + "CollectionNames": "avatars, avatarDetails, holons" + }, + "HoloOASIS": { + "UseLocalNode": true, + "UseHoloNetwork": true, + "HoloNetworkURI": "https://holo.host/", + "LocalNodeURI": "ws://localhost:8888", + "HoloNETORMUseReflection": false, + "BaseSTARPath": "C:\\Source\\OASIS2\\STAR ODK\\Releases\\STAR_ODK_v3.0.0", + "RustDNARSMTemplateFolder": "DNATemplates\\RustDNATemplates\\RSM", + "RustTemplateLib": "core\\lib.rs", + "RustTemplateHolon": "core\\holon.rs", + "RustTemplateValidation": "core\\validation.rs", + "RustTemplateCreate": "crud\\create.rs", + "RustTemplateRead": "crud\\read.rs", + "RustTemplateUpdate": "crud\\update.rs", + "RustTemplateDelete": "crud\\delete.rs", + "RustTemplateList": "crud\\list.rs", + "RustTemplateInt": "types\\int.rs", + "RustTemplateString": "types\\string.rs", + "RustTemplateBool": "types\\bool.rs" + }, + "MongoDBOASIS": { + "DBName": "OASISAPI_DEV", + "ConnectionString": "mongodb://oasis:oasis123@mongodb:27017/?authSource=admin" + }, + "EOSIOOASIS": { + "AccountName": "oasis", + "AccountPrivateKey": "", + "ChainId": "", + "ConnectionString": "http://localhost:8888" + }, + "TelosOASIS": { + "ConnectionString": "https://node.hypha.earth" + }, + "SEEDSOASIS": { + "ConnectionString": "https://node.hypha.earth" + }, + "ThreeFoldOASIS": { + "ConnectionString": "" + }, + "EthereumOASIS": { + "ChainPrivateKey": "", + "ChainId": 0, + "ContractAddress": "", + "ConnectionString": "http://testchain.nethereum.com:8545" + }, + "ArbitrumOASIS": { + "ChainPrivateKey": "d3c80ec102d5fe42beadcb7346f74df529a0a10a1906f6ecc5fe3770eb65fb1a", + "ChainId": 421614, + "ContractAddress": "0xd56B495571Ea5793fC3960D6af86420dF161c50a", + "ConnectionString": "https://sepolia-rollup.arbitrum.io/rpc" + }, + "RootstockOASIS": { + "ChainPrivateKey": "", + "ContractAddress": "", + "Abi": null, + "ConnectionString": "https://public-node.testnet.rsk.co" + }, + "PolygonOASIS": { + "ChainPrivateKey": "", + "ContractAddress": "", + "Abi": null, + "ConnectionString": "https://rpc-amoy.polygon.technology/" + }, + "SQLLiteDBOASIS": { + "ConnectionString": "Data Source=OASISSQLLiteDB.db" + }, + "IPFSOASIS": { + "LookUpIPFSAddress": "QmV7AwEXdAG8r7CTjXRYpDk55aaSbWuNR9kpyycLkjLFE9", + "ConnectionString": "http://localhost:5001" + }, + "Neo4jOASIS": { + "Username": "neo4j", + "Password": "", + "ConnectionString": "bolt://localhost:7687" + }, + "SolanaOASIS": { + "WalletMnemonicWords": "", + "PrivateKey": "", + "PublicKey": "", + "ConnectionString": "https://api.devnet.solana.com" + }, + "CargoOASIS": { + "SingingMessage": "", + "PrivateKey": "", + "HostUrl": "", + "ConnectionString": "" + }, + "LocalFileOASIS": { + "FilePath": "wallets.json" + }, + "PinataOASIS": { + "ConnectionString": "https://api.pinata.cloud?apiKey=YOUR_API_KEY&secretKey=YOUR_SECRET_KEY&jwt=YOUR_JWT&gateway=https://gateway.pinata.cloud" + }, + "BitcoinOASIS": { + "RpcEndpoint": "https://api.blockcypher.com/v1/btc/main", + "Network": "mainnet" + }, + "CardanoOASIS": { + "RpcEndpoint": "https://cardano-mainnet.blockfrost.io/api/v0", + "NetworkId": "mainnet" + }, + "PolkadotOASIS": { + "RpcEndpoint": "wss://rpc.polkadot.io", + "Network": "mainnet" + }, + "BNBChainOASIS": { + "RpcEndpoint": "https://bsc-dataseed.binance.org", + "NetworkId": "mainnet", + "ChainId": "0x38" + }, + "FantomOASIS": { + "RpcEndpoint": "https://rpc.ftm.tools", + "NetworkId": "mainnet", + "ChainId": "0xfa" + }, + "OptimismOASIS": { + "RpcEndpoint": "https://mainnet.optimism.io", + "NetworkId": "mainnet", + "ChainId": "0xa" + }, + "ChainLinkOASIS": { + "RpcEndpoint": "https://mainnet.infura.io/v3/YOUR_PROJECT_ID", + "NetworkId": "mainnet", + "ChainId": "0x1" + }, + "ElrondOASIS": { + "RpcEndpoint": "https://api.elrond.com", + "Network": "mainnet", + "ChainId": "1" + }, + "AptosOASIS": { + "RpcEndpoint": "https://fullnode.mainnet.aptoslabs.com", + "Network": "mainnet", + "ChainId": "1" + }, + "TRONOASIS": { + "RpcEndpoint": "https://api.trongrid.io", + "Network": "mainnet", + "ChainId": "0x2b6653dc" + }, + "HashgraphOASIS": { + "RpcEndpoint": "https://mainnet-public.mirrornode.hedera.com", + "Network": "mainnet", + "ChainId": "0" + }, + "AvalancheOASIS": { + "RpcEndpoint": "https://api.avax.network/ext/bc/C/rpc", + "ChainPrivateKey": "", + "ChainId": "0xa86a", + "ContractAddress": "" + }, + "CosmosBlockChainOASIS": { + "RpcEndpoint": "https://cosmos-rpc.polkachu.com", + "Network": "mainnet", + "ChainId": "cosmoshub-4" + }, + "NEAROASIS": { + "RpcEndpoint": "https://rpc.mainnet.near.org", + "Network": "mainnet", + "ChainId": "mainnet" + }, + "BaseOASIS": { + "RpcEndpoint": "https://mainnet.base.org", + "NetworkId": "mainnet", + "ChainId": "0x2105" + }, + "SuiOASIS": { + "RpcEndpoint": "https://fullnode.mainnet.sui.io:443", + "Network": "mainnet", + "ChainId": "mainnet" + }, + "MoralisOASIS": { + "ApiKey": "YOUR_MORALIS_API_KEY", + "RpcEndpoint": "https://speedy-nodes-nyc.moralis.io/YOUR_API_KEY/eth/mainnet", + "Network": "mainnet" + }, + "ActivityPubOASIS": { + "BaseUrl": "https://mastodon.social", + "UserAgent": "OASIS/1.0", + "AcceptHeader": "application/activity+json", + "TimeoutSeconds": 30 + }, + "GoogleCloudOASIS": { + "ProjectId": "YOUR_PROJECT_ID", + "BucketName": "oasis-storage", + "CredentialsPath": "path/to/credentials.json", + "FirestoreDatabaseId": "oasis-db", + "BigQueryDatasetId": "oasis_data", + "EnableStorage": true, + "EnableFirestore": true, + "EnableBigQuery": true + } + }, + "Admins": [ + { + "AdminEmail": "admin@oasisplatform.world", + "AdminUsername": "oasis_admin", + "AdminPassword": "password", + "AdminFirstName": "OASIS", + "AdminLastName": "Admin" + }, + { + "AdminEmail": "superadmin@oasisplatform.world", + "AdminUsername": "super_admin", + "AdminPassword": "password", + "AdminFirstName": "Super", + "AdminLastName": "Admin" + } + ], + "OASISSystemAccountId": "", + "OASISAPIURL": "https://oasisweb4.one/api" + } +} \ No newline at end of file diff --git a/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json index 0f61eceab..597da2633 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json +++ b/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json @@ -33,7 +33,7 @@ "Security": { "HideVerificationToken": true, "HideRefreshTokens": true, - "SecretKey": "", + "SecretKey": "98765432-ABCD-EF01-2345-678901234567-SECRET-KEY", "RemoveOldRefreshTokensAfterXDays": 0, "AvatarPassword": { "BCryptEncryptionEnabled": true, @@ -55,7 +55,7 @@ "SmtpUser": "", "SmtpPass": "", "DisableAllEmails": true, - "SendVerificationEmail": true, + "SendVerificationEmail": false, "OASISWebSiteURL": "https://oasisweb4.one/#" }, "StorageProviders": { @@ -103,7 +103,7 @@ }, "MongoDBOASIS": { "DBName": "OASISAPI_DEV", - "ConnectionString": "mongodb://localhost:27017" + "ConnectionString": "mongodb://oasis:oasis123@mongodb:27017/?authSource=admin" }, "EOSIOOASIS": { "AccountName": "oasis", @@ -111,9 +111,15 @@ "ChainId": "", "ConnectionString": "http://localhost:8888" }, - "TelosOASIS": { "ConnectionString": "https://node.hypha.earth" }, - "SEEDSOASIS": { "ConnectionString": "https://node.hypha.earth" }, - "ThreeFoldOASIS": { "ConnectionString": "" }, + "TelosOASIS": { + "ConnectionString": "https://node.hypha.earth" + }, + "SEEDSOASIS": { + "ConnectionString": "https://node.hypha.earth" + }, + "ThreeFoldOASIS": { + "ConnectionString": "" + }, "EthereumOASIS": { "ChainPrivateKey": "", "ChainId": 0, @@ -138,7 +144,9 @@ "Abi": null, "ConnectionString": "https://rpc-amoy.polygon.technology/" }, - "SQLLiteDBOASIS": { "ConnectionString": "Data Source=OASISSQLLiteDB.db" }, + "SQLLiteDBOASIS": { + "ConnectionString": "Data Source=OASISSQLLiteDB.db" + }, "IPFSOASIS": { "LookUpIPFSAddress": "QmV7AwEXdAG8r7CTjXRYpDk55aaSbWuNR9kpyycLkjLFE9", "ConnectionString": "http://localhost:5001" @@ -160,8 +168,10 @@ "HostUrl": "", "ConnectionString": "" }, - "LocalFileOASIS": { "FilePath": "wallets.json" }, - "PinataOASIS": { + "LocalFileOASIS": { + "FilePath": "wallets.json" + }, + "PinataOASIS": { "ConnectionString": "https://api.pinata.cloud?apiKey=YOUR_API_KEY&secretKey=YOUR_SECRET_KEY&jwt=YOUR_JWT&gateway=https://gateway.pinata.cloud" }, "BitcoinOASIS": { @@ -247,11 +257,6 @@ "RpcEndpoint": "https://speedy-nodes-nyc.moralis.io/YOUR_API_KEY/eth/mainnet", "Network": "mainnet" }, - "TelosOASIS": { - "RpcEndpoint": "https://api.telos.net", - "Network": "mainnet", - "ChainId": "4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11" - }, "ActivityPubOASIS": { "BaseUrl": "https://mastodon.social", "UserAgent": "OASIS/1.0", @@ -269,6 +274,22 @@ "EnableBigQuery": true } }, + "Admins": [ + { + "AdminEmail": "admin@oasisplatform.world", + "AdminUsername": "oasis_admin", + "AdminPassword": "password", + "AdminFirstName": "OASIS", + "AdminLastName": "Admin" + }, + { + "AdminEmail": "superadmin@oasisplatform.world", + "AdminUsername": "super_admin", + "AdminPassword": "password", + "AdminFirstName": "Super", + "AdminLastName": "Admin" + } + ], "OASISSystemAccountId": "", "OASISAPIURL": "https://oasisweb4.one/api" } diff --git a/OASIS Architecture/NextGenSoftware.OASIS.Common/NextGenSoftware.OASIS.Common.csproj b/OASIS Architecture/NextGenSoftware.OASIS.Common/NextGenSoftware.OASIS.Common.csproj index 827bc9e34..1b87552c8 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.Common/NextGenSoftware.OASIS.Common.csproj +++ b/OASIS Architecture/NextGenSoftware.OASIS.Common/NextGenSoftware.OASIS.Common.csproj @@ -7,7 +7,7 @@ - + diff --git a/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/NextGenSoftware.OASIS.OASISBootLoader.csproj b/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/NextGenSoftware.OASIS.OASISBootLoader.csproj index 3b66e6ac3..2f4635e2d 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/NextGenSoftware.OASIS.OASISBootLoader.csproj +++ b/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/NextGenSoftware.OASIS.OASISBootLoader.csproj @@ -35,7 +35,7 @@ - + diff --git a/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/OASISBootLoader.cs b/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/OASISBootLoader.cs index 195a37393..38feb5efe 100644 --- a/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/OASISBootLoader.cs +++ b/OASIS Architecture/NextGenSoftware.OASIS.OASISBootLoader/OASISBootLoader.cs @@ -296,22 +296,49 @@ public static async Task> BootOASISAsync(OASISDNA OASISDNA, bo LoggingManager.EndLogAction($"DONE", LogType.Info); LoggingManager.BeginLogAction($"OASIS System Account Not Found So Generating For Email {SYSTEM_EMAIL} Now...", LogType.Info); - //TODO: Need to make this more secure in future to prevent others creating similar accounts (but none will ever have AvatarType of System, this is the only place that can be created but we need to make sure a normal user accout is not hacked or changed to a system one. But currently it cannot do any harm because this system account is currently not used for anything, it simply creates the default OASIS Omniverse when STAR CLI first boots up on a running ONODE (before a avatar is created or logged in). + //TODO: Need to make this more secure in future to prevent others creating similar accounts + // (but none will ever have AvatarType of System, this is the only place that can be created but we need to make sure a normal user accout is not hacked or changed to a system one. + // But currently it cannot do any harm because this system account is currently not used for anything, it simply creates the default + // OASIS Omniverse when STAR CLI first boots up on a running ONODE (before a avatar is created or logged in). CLIEngine.SupressConsoleLogging = true; //OASISResult avatarResult = await AvatarManager.Instance.RegisterAsync("", "OASIS", "SYSTEM", OASISDNA.OASIS.Email.SmtpUser, "", "root", AvatarType.System, OASISType.OASISBootLoader); - OASISResult avatarResult = await AvatarManager.Instance.RegisterAsync("", "OASIS", "SYSTEM", SYSTEM_EMAIL, "", "root", AvatarType.System, OASISType.OASISBootLoader); - CLIEngine.SupressConsoleLogging = false; + //OASISResult avatarResult = await AvatarManager.Instance.RegisterAsync("", "OASIS", "SYSTEM", SYSTEM_EMAIL, "", "root", AvatarType.System, OASISType.OASISBootLoader); + //OASISDNA.OASIS.OASISSystemAccountId = avatarResult.Result.Id.ToString(); - if (avatarResult != null && !avatarResult.IsError) + // Create Admins + if (OASISDNA.OASIS.Admins != null && OASISDNA.OASIS.Admins.Count > 0) { - OASISDNA.OASIS.OASISSystemAccountId = avatarResult.Result.Id.ToString(); - await OASISDNAManager.SaveDNAAsync(OASISDNAPath, OASISDNA); + int adminsCreated = 0; + LoggingManager.BeginLogAction($"Creating {OASISDNA.OASIS.Admins.Count} Admin Accounts...", LogType.Info); + + foreach (AdminConfig adminConfig in OASISDNA.OASIS.Admins) + { + LoggingManager.BeginLogAction($"Creating {adminConfig.AdminUsername} Admin Account...", LogType.Info); + OASISResult adminAvatarResult = await AvatarManager.Instance.RegisterAdminAsync(adminConfig.AdminFirstName, adminConfig.AdminLastName, adminConfig.AdminEmail, adminConfig.AdminUsername, adminConfig.AdminPassword, OASISType.OASISBootLoader); + + if (adminAvatarResult != null && !adminAvatarResult.IsError && adminAvatarResult.IsSaved) + { + adminsCreated++; + LoggingManager.EndLogAction($"DONE", LogType.Info); + } + else + LoggingManager.EndLogAction($"Error Creating Admin Account {adminConfig.AdminUsername}. Reason: {adminAvatarResult.Message}", LogType.Error); + } - LoggingManager.EndLogAction($"DONE", LogType.Info); - LoggingManager.Log($"OASIS System Account Generated: Id: {avatarResult.Result.Id}, Name: {avatarResult.Result.Name}, Email: {avatarResult.Result.Email}, Username: {avatarResult.Result.Username}, Type: {avatarResult.Result.AvatarType.Name}.", LogType.Info); + LoggingManager.EndLogAction($"DONE. {adminsCreated} Admin Accounts Created.", LogType.Info); } - else - OASISErrorHandling.HandleError(ref result, $"Error Occured In OASISBootLoader.BootOASISAsync Calling AvatarManager.Instance.RegisterAsync Attempting To Create The OASISSystem Account. Reason: {avatarResult.Message}"); + CLIEngine.SupressConsoleLogging = false; + + // if (avatarResult != null && !avatarResult.IsError) + // { + // OASISDNA.OASIS.OASISSystemAccountId = avatarResult.Result.Id.ToString(); + // await OASISDNAManager.SaveDNAAsync(OASISDNAPath, OASISDNA); + + // LoggingManager.EndLogAction($"DONE", LogType.Info); + // LoggingManager.Log($"OASIS System Account Generated: Id: {avatarResult.Result.Id}, Name: {avatarResult.Result.Name}, Email: {avatarResult.Result.Email}, Username: {avatarResult.Result.Username}, Type: {avatarResult.Result.AvatarType.Name}.", LogType.Info); + // } + // else + // OASISErrorHandling.HandleError(ref result, $"Error Occured In OASISBootLoader.BootOASISAsync Calling AvatarManager.Instance.RegisterAsync Attempting To Create The OASISSystem Account. Reason: {avatarResult.Message}"); } IsOASISBooted = true; diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.Core/Network/HoloNETP2PProvider.cs b/ONODE/NextGenSoftware.OASIS.API.ONODE.Core/Network/HoloNETP2PProvider.cs index 47f70255f..0a5c91d51 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.Core/Network/HoloNETP2PProvider.cs +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.Core/Network/HoloNETP2PProvider.cs @@ -216,6 +216,7 @@ public async Task> ShutdownAsync() private void ConfigureEnhancedFeatures() { + /* _holoNETClient.HoloNETDNA.EnableKitsune2Networking = true; _holoNETClient.HoloNETDNA.EnableQUICProtocol = true; _holoNETClient.HoloNETDNA.EnableIntegratedKeystore = true; @@ -228,6 +229,7 @@ private void ConfigureEnhancedFeatures() _holoNETClient.HoloNETDNA.KeystoreConfig.AutoGenerateKeys = true; _holoNETClient.HoloNETDNA.CacheConfig.DefaultCacheDurationMinutes = 30; _holoNETClient.HoloNETDNA.WASMConfig.EnableJITCompilation = true; + */ } private async Task CalculateAverageLatencyAsync() diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/request.json new file mode 100644 index 000000000..18f90dfc4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/request.json @@ -0,0 +1,4 @@ +{ + "Username": "super_admin", + "Password": "password" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/response.json new file mode 100644 index 000000000..bd57c25ea --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/response.json @@ -0,0 +1,92 @@ +{ + "showDetailedSettings": true, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": true, + "isLoaded": true, + "isDeleted": false, + "message": "Avatar Successfully Authenticated.", + "result": { + "providerWallets": {}, + "providerUsername": {}, + "avatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "title": "Admin", + "firstName": "Super", + "lastName": "Admin", + "fullName": "Super Admin", + "fullNameWithTitle": "Admin Super Admin", + "username": "super_admin", + "email": "superadmin@oasisplatform.world", + "password": "$2a$11$veatK8kJSfni.2rMQdnbf.pEn82fCdk8Rmk6oOnzhOINmJkXqOruG", + "avatarType": { + "value": 3, + "name": "Admin" + }, + "acceptTerms": false, + "isVerified": true, + "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ4NTI2NDE4LTlhOTktNDM0Yi04MDIzLTc0NDVhZWQ1NzljZiIsIm5iZiI6MTc2NzU4OTg2NCwiZXhwIjoxNzY3NTkwNzY0LCJpYXQiOjE3Njc1ODk4NjR9.XM68mq7SXZ-wPQwsoIzJ7vk9U8kM2USret9ehV9eU24", + "refreshToken": "5A7178AA31FA9614C37B1C206E4556994A397E5147E2D286A568A597BCC0F0426F31DEA03D8EB954", + "verified": "2026-01-05T04:44:15.05Z", + "lastBeamedIn": "2026-01-05T05:11:04.1691099+00:00", + "isBeamedIn": true, + "parentHolonId": "00000000-0000-0000-0000-000000000000", + "children": [], + "allChildren": [], + "id": "d8526418-9a99-434b-8023-7445aed579cf", + "name": "Super Admin", + "holonType": 3, + "isActive": true, + "metaData": {}, + "createdOASISType": { + "value": 0, + "name": "OASISBootLoader" + }, + "createdProviderType": { + "value": 42, + "name": "MongoDBOASIS" + }, + "isChanged": false, + "isNewHolon": false, + "isSaving": false, + "previousVersionId": "00000000-0000-0000-0000-000000000000", + "previousVersionProviderUniqueStorageKey": {}, + "providerMetaData": {}, + "providerUniqueStorageKey": { + "MongoDBOASIS": "695b419f3c0824a648c0d7ae" + }, + "createdByAvatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "createdDate": "2026-01-05T04:44:14.839Z", + "modifiedByAvatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "modifiedDate": "2026-01-05T05:11:04.1691137+00:00", + "deletedByAvatarId": "00000000-0000-0000-0000-000000000000", + "deletedDate": "0001-01-01T00:00:00Z", + "version": 0, + "versionId": "00000000-0000-0000-0000-000000000000" + } + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "autoLoadBalanceProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS", + "autoFailOverProviders": "MongoDBOASIS, ArbitrumOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS", + "autoReplicationProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS", + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/test_report.txt new file mode 100644 index 000000000..b47737d01 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/authenticate/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767572627.7796612 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/request.json new file mode 100644 index 000000000..6a31b921c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/request.json @@ -0,0 +1,3 @@ +{ + "Email": "api_test_user@oasisplatform.world" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/response.json new file mode 100644 index 000000000..67bebe66a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/response.json @@ -0,0 +1,33 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 1, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Error occured loading avatar in ForgotPassword, avatar not found. Reason: All registered OASIS Providers in the AutoFailOverList failed to load avatar with email api_test_user@oasisplatform.world. Mostly likely reason is the avatar does not exist. Please view the logs or DetailedMessage property for more information. Providers in the list are: MongoDBOASIS, ArbitrumOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS", + "detailedMessage": "Error Details: Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider MongoDBOASIS. Reason: Avatar Not Found. | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider ArbitrumOASIS. Reason: ERROR: The ArbitrumOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider ArbitrumOASIS. Reason: | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider LocalFileOASIS. Reason: Avatar not found by email | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider SQLLiteDBOASIS. Reason: ERROR: The SQLLiteDBOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider SQLLiteDBOASIS. Reason: Unknown Error Occured In SQLLiteDBOASIS Provider in ActivateProviderAsync. Reason: System.ObjectDisposedException: Cannot access a disposed context instance. A common cause of this error is disposing a context instance that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling 'Dispose' on the context instance, or wrapping it in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. Object name: 'DataContext'. at Microsoft.EntityFrameworkCore.DbContext.CheckDisposed() at Microsoft.EntityFrameworkCore.DbContext.get_Database() at NextGenSoftware.OASIS.API.Providers.SQLLiteDBOASIS.SQLLiteDBOASIS.ActivateProviderAsync() in /src/Providers/Storage/NextGenSoftware.OASIS.API.Providers.SQLLiteDBOASIS/SQLLiteDBOASIS.cs:line 49 | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider Neo4jOASIS. Reason: ERROR: The Neo4jOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider Neo4jOASIS. Reason: Unknwon error occured whilst activating neo4j provider: Neo4j.Driver.ServiceUnavailableException: Connection with the server breaks due to IOException: Failed to connect to server 'bolt://localhost:7687/' via IP addresses'[127.0.0.1]' at port '7687'. Please ensure that your database is listening on the correct host and port and that you have compatible encryption settings both on Neo4j server and driver. Note that the default encryption setting has changed in Neo4j 4.0. ---> System.IO.IOException: Failed to connect to server 'bolt://localhost:7687/' via IP addresses'[127.0.0.1]' at port '7687'. ---> System.AggregateException: One or more errors occurred. (Failed to connect to server 'bolt://localhost:7687/' via IP address '127.0.0.1': Connection refused) ---> System.IO.IOException: Failed to connect to server 'bolt://localhost:7687/' via IP address '127.0.0.1': Connection refused ---> System.Net.Sockets.SocketException (111): Connection refused at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) --- End of stack trace from previous location --- at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectSocketAsync(IPAddress address, Int32 port) at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectSocketAsync(Uri uri) --- End of inner exception stack trace --- --- End of inner exception stack trace --- --- End of inner exception stack trace --- at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectSocketAsync(Uri uri) at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectAsync(Uri uri) at Neo4j.Driver.Internal.Connector.SocketClient.ConnectAsync(IDictionary`2 routingContext) at Neo4j.Driver.Internal.Connector.SocketConnection.InitAsync() at Neo4j.Driver.Internal.Connector.DelegatedConnection.TaskWithErrorHandling(Func`1 task) --- End of inner exception stack trace --- at Neo4j.Driver.Internal.Connector.PooledConnection.OnErrorAsync(Exception error) at Neo4j.Driver.Internal.Connector.DelegatedConnection.TaskWithErrorHandling(Func`1 task) at Neo4j.Driver.Internal.ConnectionPool.CreateNewPooledConnectionAsync() at Neo4j.Driver.Internal.ConnectionPool.CreateNewPooledConnectionAsync() at Neo4j.Driver.Internal.ConnectionPool.<>c__DisplayClass43_0.<b__0>d.MoveNext() --- End of stack trace from previous location --- at Neo4j.Driver.Internal.Logging.DriverLoggerUtil.TryExecuteAsync[T](ILogger logger, Func`1 func, String message) at Neo4j.Driver.Internal.ConnectionPool.VerifyConnectivityAsync() at NextGenSoftware.OASIS.API.Providers.Neo4jOASIS.Aura.Neo4jOASIS.ActivateProviderAsync() in /src/Providers/Storage/NextGenSoftware.OASIS.API.Providers.Neo4jOASIS.Aura/Neo4jOASIS.cs:line 93 | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider IPFSOASIS. Reason: One or more errors occurred. (Invalid CID ''.) | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider PinataOASIS. Reason: Failed to search Pinata for avatar by email: Unauthorized | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider HoloOASIS. Reason: ERROR: The HoloOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider HoloOASIS. Reason: Error Occured In HoloOASIS Provider in ActivateProviderAsync method. Reason: Error Occured Connecting To HoloNETClientAdmin EndPoint ws://localhost:8888/. Reason: HoloNetwork connection initialized. | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider SolanaOASIS. Reason: Error loading avatar by email from Solana: Error calling OASIS smart contract: expandedPrivateKey.Count | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider TelosOASIS. Reason: Failed to load avatar by email from Telos blockchain: NotFound | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider EOSIOOASIS. Reason: ERROR: The EOSIOOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider EOSIOOASIS. Reason: Error occured in ActivateProviderAsync method in EOSIOOASIS Provider. Reason: System.Exception: checksum doesn't match. at EosSharp.Core.Helpers.CryptoHelper.StringToKey(String key, Int32 size, String keyType) at EosSharp.Core.Helpers.CryptoHelper.PrivKeyStringToBytes(String key) at EosSharp.Core.Helpers.CryptoHelper.GetPrivateKeyBytesWithoutCheckSum(String privateKey) at EosSharp.Core.Providers.DefaultSignProvider..ctor(String privateKey) at NextGenSoftware.OASIS.API.Providers.EOSIOOASIS.Infrastructure.Persistence.HolonEosProviderRepository..ctor(IEosClient eosClient, String eosAccountName, String eosChainUrl, String eosChainId, String eosAccountPk) in /src/Providers/Blockchain/NextGenSoftware.OASIS.API.Providers.EOSIOOASIS/Infrastructure/Persistence/HolonEosProviderRepository.cs:line 41 at NextGenSoftware.OASIS.API.Providers.EOSIOOASIS.EOSIOOASIS.ActivateProviderAsync() in /src/Providers/Blockchain/NextGenSoftware.OASIS.API.Providers.EOSIOOASIS/EOSIOOASIS.cs:line 136 | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider EthereumOASIS. Reason: ERROR: The EthereumOASIS provider may not be registered. Please register it before calling this method. Reason: Error Occured In ProviderManager.SetAndActivateCurrentStorageProviderAsync Calling ActivateProviderAsync For Provider EthereumOASIS. Reason: Error Occured Activating Provider EthereumOASIS In ProviderManager ActivateProviderAsync. Reason: Unknown Error Occured: System.MissingMethodException: Method not found: 'Void Nethereum.Web3.Web3..ctor(Nethereum.RPC.Accounts.IAccount, System.String, Common.Logging.ILog, System.Net.Http.Headers.AuthenticationHeaderValue)'. at NextGenSoftware.OASIS.API.Providers.EthereumOASIS.EthereumOASIS.ActivateProviderAsync() at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at NextGenSoftware.OASIS.API.Providers.EthereumOASIS.EthereumOASIS.ActivateProviderAsync() at NextGenSoftware.OASIS.API.Core.Managers.ProviderManager.ActivateProviderAsync(IOASISProvider provider) in /src/OASIS Architecture/NextGenSoftware.OASIS.API.Core/Managers/OASIS HyperDrive/Provider Management/ProviderManager.cs:line 530 | Error in LoadAvatarByEmailForProviderAsync method in AvatarManager loading avatar with email api_test_user@oasisplatform.world for provider ThreeFoldOASIS. Reason: ThreeFold avatar loading by email not yet implemented |" + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/test_report.txt new file mode 100644 index 000000000..955f86cc1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/forgot-password/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476203.8824897 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/test_report.txt new file mode 100644 index 000000000..2ceadfc39 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-all-avatar-details/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476264.2995515 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/error.txt new file mode 100644 index 000000000..2d69e8614 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:14 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/method.json new file mode 100644 index 000000000..b6e0a7150 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/api_test_user@oasisplatform.world" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/not_implemented.txt new file mode 100644 index 000000000..a729366cb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:14 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/response.json new file mode 100644 index 000000000..c015c9ac4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/response.json @@ -0,0 +1,6 @@ +{ + "isError": false, + "result": { + "email": "api_test_user@oasisplatform.world" + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-email/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/error.txt new file mode 100644 index 000000000..2643b584c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:15 +Error: HTTP 404 +URL: http://localhost:5002/api/avatar/get-avatar-detail-by-id/{{AvatarId}} +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/method.json new file mode 100644 index 000000000..e7615888d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/{{AvatarId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/not_implemented.txt new file mode 100644 index 000000000..0a3ff5d94 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:15 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-id/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/error.txt new file mode 100644 index 000000000..9fa5800e0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:16 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/method.json new file mode 100644 index 000000000..f42164b40 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/api_test_user" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/not_implemented.txt new file mode 100644 index 000000000..a5ce1c8e1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:16 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/response.json new file mode 100644 index 000000000..b43dae732 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/response.json @@ -0,0 +1,6 @@ +{ + "isError": false, + "result": { + "username": "api_test_user" + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-detail-by-username/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/method.json new file mode 100644 index 000000000..b6e0a7150 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/api_test_user@oasisplatform.world" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-email/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/method.json new file mode 100644 index 000000000..f42164b40 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/api_test_user" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait-by-username/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/method.json new file mode 100644 index 000000000..e7615888d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/{{AvatarId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-avatar-portrait/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/response.json new file mode 100644 index 000000000..dc779a7dd --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/response.json @@ -0,0 +1,33 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "", + "result": "Please be kind and respectful to everyone including animals and nature and work hard to co-create a better world for all! Enjoy your stay! :)" + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/test_report.txt new file mode 100644 index 000000000..01bb44bce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/get-terms/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476257.9857614 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/response.json new file mode 100644 index 000000000..105777272 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/response.json @@ -0,0 +1,89 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "", + "result": { + "providerWallets": {}, + "providerUsername": {}, + "avatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "title": "Admin", + "firstName": "Super", + "lastName": "Admin", + "fullName": "Super Admin", + "fullNameWithTitle": "Admin Super Admin", + "username": "super_admin", + "email": "superadmin@oasisplatform.world", + "password": "$2a$11$veatK8kJSfni.2rMQdnbf.pEn82fCdk8Rmk6oOnzhOINmJkXqOruG", + "avatarType": { + "value": 3, + "name": "Admin" + }, + "acceptTerms": false, + "isVerified": true, + "jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ4NTI2NDE4LTlhOTktNDM0Yi04MDIzLTc0NDVhZWQ1NzljZiIsIm5iZiI6MTc2NzU4OTg4NSwiZXhwIjoxNzY3NTkwNzg1LCJpYXQiOjE3Njc1ODk4ODV9.wK1k9Ob5jNFtiYHarSToLF3LceeSXzPXuFZxrR09Wzw", + "refreshToken": "11170BEEDA90122D45D00A86C0114E670218C090C1710ACAABAD9BBA12AD0D22F7572F86495CE1B9", + "verified": "2026-01-05T04:44:15.05Z", + "lastBeamedIn": "2026-01-05T05:11:04.169Z", + "isBeamedIn": true, + "parentHolonId": "00000000-0000-0000-0000-000000000000", + "children": [], + "allChildren": [], + "id": "d8526418-9a99-434b-8023-7445aed579cf", + "name": "Super Admin", + "holonType": 3, + "isActive": true, + "metaData": {}, + "createdOASISType": { + "value": 0, + "name": "OASISBootLoader" + }, + "createdProviderType": { + "value": 42, + "name": "MongoDBOASIS" + }, + "isChanged": false, + "isNewHolon": false, + "isSaving": false, + "previousVersionId": "00000000-0000-0000-0000-000000000000", + "previousVersionProviderUniqueStorageKey": {}, + "providerMetaData": {}, + "providerUniqueStorageKey": { + "MongoDBOASIS": "695b419f3c0824a648c0d7ae" + }, + "createdByAvatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "createdDate": "2026-01-05T04:44:14.839Z", + "modifiedByAvatarId": "d8526418-9a99-434b-8023-7445aed579cf", + "modifiedDate": "2026-01-05T05:11:25.8744546+00:00", + "deletedByAvatarId": "00000000-0000-0000-0000-000000000000", + "deletedDate": "0001-01-01T00:00:00Z", + "version": 0, + "versionId": "00000000-0000-0000-0000-000000000000" + } + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/test_report.txt new file mode 100644 index 000000000..c8a2cdc95 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/refresh-token/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476172.4183128 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request.json new file mode 100644 index 000000000..b50f77452 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request.json @@ -0,0 +1,11 @@ +{ + "Title": "Mr", + "FirstName": "Test", + "LastName": "User", + "Email": "testuser@oasisplatform.world", + "Username": "test_user", + "Password": "password", + "ConfirmPassword": "password", + "AvatarType": "User", + "AcceptTerms": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request_20260102_220300.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request_20260102_220300.json new file mode 100644 index 000000000..618462e85 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/request_20260102_220300.json @@ -0,0 +1,8 @@ +{ + "title": "Mr", + "firstName": "Test", + "lastName": "User", + "email": "testuser@oasis.io", + "password": "TestPass123!", + "username": "testuser" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/response.json new file mode 100644 index 000000000..af54cba67 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/response.json @@ -0,0 +1,32 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Sorry, the email testuser@oasisplatform.world is already in use, please use another one." + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/test_report.txt new file mode 100644 index 000000000..8d0ffea5d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/register/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767573869.4824338 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/error.txt new file mode 100644 index 000000000..537da6717 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:22 +Error: HTTP 400 +URL: http://localhost:5002/api/avatar/reset-password +Response: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"ConfirmNewPassword":["The ConfirmNewPassword field is required.","'ConfirmNewPassword' and 'NewPassword' do not match."]},"traceId":"00-25a5a83126649164efea2bd3087a245c-38964110914f6004-00"} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/not_implemented.txt new file mode 100644 index 000000000..0774b02c5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:22 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/request.json new file mode 100644 index 000000000..6e16947eb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/request.json @@ -0,0 +1,5 @@ +{ + "Token": "dummy_token", + "OldPassword": "password123!", + "NewPassword": "NewPassword123!" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/test_report.txt new file mode 100644 index 000000000..68f2be975 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/reset-password/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/error.txt new file mode 100644 index 000000000..3cf48a943 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:23 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/not_implemented.txt new file mode 100644 index 000000000..31b96cabb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:23 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/test_report.txt new file mode 100644 index 000000000..0d72f4427 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/revoke-token/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476178.6515956 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/request.json new file mode 100644 index 000000000..50ae818f1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/request.json @@ -0,0 +1,6 @@ +{ + "AvatarId": "{{AvatarId}}", + "ImageName": "test.png", + "ImageExtension": ".png", + "ImageBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/test_report.txt new file mode 100644 index 000000000..786fa6643 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/upload-avatar-portrait/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476245.5251977 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/request.json new file mode 100644 index 000000000..4778edb43 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/request.json @@ -0,0 +1,3 @@ +{ + "Token": "dummy_token" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/response.json new file mode 100644 index 000000000..72e1aa89b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/response.json @@ -0,0 +1,33 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "", + "result": "Invalid token" + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/test_report.txt new file mode 100644 index 000000000..9e465a6b6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/validate-reset-token/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476219.811348 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/error.txt new file mode 100644 index 000000000..d09edced5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:26 +Error: HTTP 404 +URL: http://localhost:5002/api/avatar/verify-email/dummy_token +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/method.json new file mode 100644 index 000000000..20fee69e0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/dummy_token" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/not_implemented.txt new file mode 100644 index 000000000..577a7aade --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:26 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/response.json new file mode 100644 index 000000000..8658d256d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/response.json @@ -0,0 +1,33 @@ +{ + "showDetailedSettings": false, + "result": { + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": true, + "isLoaded": false, + "isDeleted": false, + "message": "Verification successful, you can now login", + "result": true + }, + "oasisVersion": "4.4.4", + "autoLoadBalanceEnabled": true, + "autoFailOverEnabled": true, + "autoReplicationEnabled": false, + "currentOASISProvider": "MongoDBOASIS", + "version": "1.1", + "content": { + "headers": [] + }, + "statusCode": 200, + "reasonPhrase": "OK", + "headers": [], + "trailingHeaders": [], + "isSuccessStatusCode": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/test_report.txt new file mode 100644 index 000000000..3d1dc7277 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/AvatarController/verify-email/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476232.5023527 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/error.txt new file mode 100644 index 000000000..41c856f22 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:27 +Error: HTTP 404 +URL: http://localhost:5002/api/v1/bridge/orders/00000000-0000-0000-0000-000000000000/check-balance +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/method.json new file mode 100644 index 000000000..4ecc30c3f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "route_override": "v1/bridge/orders/00000000-0000-0000-0000-000000000000/check-balance" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/not_implemented.txt new file mode 100644 index 000000000..73380f689 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:27 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/check-balance/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/error.txt new file mode 100644 index 000000000..b051b4b4c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:28 +Error: HTTP 400 +URL: http://localhost:5002/api/v1/bridge/exchange-rate?fromToken=SOL&toToken=ETH +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/method.json new file mode 100644 index 000000000..85ee43cbb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "route_override": "v1/bridge/exchange-rate?fromToken=SOL&toToken=ETH" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/not_implemented.txt new file mode 100644 index 000000000..c9d1b0224 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:28 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/response.json new file mode 100644 index 000000000..3bd885f61 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/response.json @@ -0,0 +1,4 @@ +{ + "fromToken": "SOL", + "toToken": "ETH" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/exchange-rate/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/method.json new file mode 100644 index 000000000..cc7c6e290 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "route_override": "v1/bridge/networks" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/response.json new file mode 100644 index 000000000..4d952c314 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/response.json @@ -0,0 +1,6 @@ +[ + { + "name": "Solana", + "symbol": "SOL" + } +] \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/networks/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/error.txt new file mode 100644 index 000000000..5cd879c38 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:30 +Error: HTTP 400 +URL: http://localhost:5002/api/v1/bridge/orders +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/method.json new file mode 100644 index 000000000..fc3bb8913 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "route_override": "v1/bridge/orders" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/not_implemented.txt new file mode 100644 index 000000000..a3d0a29b3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:30 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/request.json new file mode 100644 index 000000000..c6d9946cd --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/request.json @@ -0,0 +1,6 @@ +{ + "FromToken": "SOL", + "ToToken": "ETH", + "Amount": 10.5, + "DestinationAddress": "0x123..." +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/orders/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/error.txt new file mode 100644 index 000000000..404fed9e7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:31 +Error: HTTP 400 +URL: http://localhost:5002/api/v1/bridge/orders/private +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/method.json new file mode 100644 index 000000000..bece646ea --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "route_override": "v1/bridge/orders/private" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/not_implemented.txt new file mode 100644 index 000000000..0535ca6aa --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:31 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/request.json new file mode 100644 index 000000000..03fc43635 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/request.json @@ -0,0 +1,5 @@ +{ + "FromToken": "SOL", + "ToToken": "ETH", + "Amount": 10.5 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/private-order/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/error.txt new file mode 100644 index 000000000..8289bd32f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:32 +Error: HTTP 400 +URL: http://localhost:5002/api/v1/bridge/viewing-keys/audit +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/method.json new file mode 100644 index 000000000..55eb7c8df --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "route_override": "v1/bridge/viewing-keys/audit" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/not_implemented.txt new file mode 100644 index 000000000..53fa4ad4a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:32 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/request.json new file mode 100644 index 000000000..205f58f26 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/request.json @@ -0,0 +1,4 @@ +{ + "ViewingKey": "vk123456", + "OrderId": "00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/response.json new file mode 100644 index 000000000..86a346c7d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/response.json @@ -0,0 +1,3 @@ +{ + "success": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/record-viewing-key/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/error.txt new file mode 100644 index 000000000..773c7230c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:33 +Error: HTTP 400 +URL: http://localhost:5002/api/v1/bridge/proofs/verify +Response: {"error":"Bridge manager not initialized","isError":true} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/method.json new file mode 100644 index 000000000..a38d9f0f2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "route_override": "v1/bridge/proofs/verify" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/not_implemented.txt new file mode 100644 index 000000000..67b907cde --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:33 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/request.json new file mode 100644 index 000000000..566ed06de --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/request.json @@ -0,0 +1,4 @@ +{ + "ProofPayload": "base64proof...", + "ProofType": "zkSNARK" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/response.json new file mode 100644 index 000000000..86a346c7d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/response.json @@ -0,0 +1,3 @@ +{ + "success": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/BridgeController/verify-proof/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/error.txt new file mode 100644 index 000000000..46163d7e8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:34 +Error: HTTP 404 +URL: http://localhost:5002/api/chat/history/history/{{SessionId}} +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/method.json new file mode 100644 index 000000000..25b81cf2d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/history/{{SessionId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/not_implemented.txt new file mode 100644 index 000000000..4051cd717 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:34 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/history/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/error.txt new file mode 100644 index 000000000..7fb61b89b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:35 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/method.json new file mode 100644 index 000000000..74112dfe5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/{{SessionId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/not_implemented.txt new file mode 100644 index 000000000..b9c38de22 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:35 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/request.json new file mode 100644 index 000000000..693cf43e5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/request.json @@ -0,0 +1 @@ +"Hello World!" \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/send-message/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/error.txt new file mode 100644 index 000000000..62104a856 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:36 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/not_implemented.txt new file mode 100644 index 000000000..3253865e0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:36 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/request.json new file mode 100644 index 000000000..5bc4fd554 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/request.json @@ -0,0 +1,4 @@ +[ + "{{AvatarId}}", + "00000000-0000-0000-0000-000000000000" +] \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/test_report.txt new file mode 100644 index 000000000..f63ae370f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ChatController/start-new-chat-session/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767476826.4252357 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/error.txt new file mode 100644 index 000000000..8baacc4f1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:37 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/method.json new file mode 100644 index 000000000..073195c6a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/method.json @@ -0,0 +1,4 @@ +{ + "method": "DELETE", + "url_suffix": "/delete-holon/{{HolonId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/not_implemented.txt new file mode 100644 index 000000000..1e4ebc54f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:37 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/test_report.txt new file mode 100644 index 000000000..eae2481e4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/delete-holon/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477033.287663 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/error.txt new file mode 100644 index 000000000..617570eb2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:39 +Error: HTTP 404 +URL: http://localhost:5002/api/data/load-holon-by-id/{{HolonId}} +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/method.json new file mode 100644 index 000000000..ac49178c6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/{{HolonId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/not_implemented.txt new file mode 100644 index 000000000..926d80564 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:39 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/response.json new file mode 100644 index 000000000..adb36b119 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/response.json @@ -0,0 +1,6 @@ +{ + "isError": false, + "result": { + "name": "Test Holon" + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon-by-id/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/request.json new file mode 100644 index 000000000..b285e172f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/request.json @@ -0,0 +1,5 @@ +{ + "id": "00000000-0000-0000-0000-000000000000", + "loadChildren": true, + "recursive": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/test_report.txt new file mode 100644 index 000000000..10e15635a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/load-holon/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767474510.4238248 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/error.txt new file mode 100644 index 000000000..952f3c6e0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:40 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/not_implemented.txt new file mode 100644 index 000000000..8cef52454 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:40 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/request.json new file mode 100644 index 000000000..790753201 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/request.json @@ -0,0 +1,8 @@ +{ + "holon": { + "name": "Test Holon", + "description": "Created by Automated Test", + "holonType": "Park" + }, + "saveChildren": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/test_report.txt new file mode 100644 index 000000000..d9d0df54e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/DataController/save-holon/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477020.6716468 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/error.txt new file mode 100644 index 000000000..f11608c33 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:47 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/method.json new file mode 100644 index 000000000..f7c676073 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?eosioAccountName=testaccount" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/not_implemented.txt new file mode 100644 index 000000000..98969aecd --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:47 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/test_report.txt new file mode 100644 index 000000000..c49250f65 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-for-eosio-account-name/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483945.4164608 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/error.txt new file mode 100644 index 000000000..ce2da1b3a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:48 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/method.json new file mode 100644 index 000000000..f7c676073 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?eosioAccountName=testaccount" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/not_implemented.txt new file mode 100644 index 000000000..fbb9ce991 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:48 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/test_report.txt new file mode 100644 index 000000000..7c981e841 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-avatar-id-for-eosio-account-name/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483938.9475605 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/error.txt new file mode 100644 index 000000000..cf68054fc --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:49 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/method.json new file mode 100644 index 000000000..17969af56 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?avatarId={{AvatarId}}&code=eosio.token&symbol=EOS" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/not_implemented.txt new file mode 100644 index 000000000..3c1508aa7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:49 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/test_report.txt new file mode 100644 index 000000000..adbb596f4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483957.9619968 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/error.txt new file mode 100644 index 000000000..2da622d08 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:50 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/method.json new file mode 100644 index 000000000..0e7cd043f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?eosioAccountName=testaccount&code=eosio.token&symbol=EOS" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/not_implemented.txt new file mode 100644 index 000000000..ecf03e20e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:50 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/test_report.txt new file mode 100644 index 000000000..a4b235c66 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-balance-for-eosio-account/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483951.6984792 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/error.txt new file mode 100644 index 000000000..d2e358dd1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:52 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/method.json new file mode 100644 index 000000000..60280fbd1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?avatarId={{AvatarId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/not_implemented.txt new file mode 100644 index 000000000..a42c5a924 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:52 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/test_report.txt new file mode 100644 index 000000000..bf5b28bdd --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-for-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483932.6252892 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/error.txt new file mode 100644 index 000000000..1af58dd4d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:53 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/method.json new file mode 100644 index 000000000..60280fbd1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?avatarId={{AvatarId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/not_implemented.txt new file mode 100644 index 000000000..57e3c9122 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:53 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/test_report.txt new file mode 100644 index 000000000..fa035d4c8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-name-for-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483913.6449783 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/error.txt new file mode 100644 index 000000000..c4dcccc82 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:54 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/method.json new file mode 100644 index 000000000..60280fbd1 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?avatarId={{AvatarId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/not_implemented.txt new file mode 100644 index 000000000..0b39d1fe3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:54 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/test_report.txt new file mode 100644 index 000000000..27461fd7f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account-private-key-for-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483919.9562101 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/error.txt new file mode 100644 index 000000000..1eb66b3fa --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:51 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/method.json new file mode 100644 index 000000000..f7c676073 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?eosioAccountName=testaccount" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/not_implemented.txt new file mode 100644 index 000000000..2fb71031d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:51 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/test_report.txt new file mode 100644 index 000000000..051a95ef5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/get-eosio-account/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767483926.380937 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/error.txt new file mode 100644 index 000000000..a76270e06 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:46:55 +Error: HTTP 404 +URL: http://localhost:5002/api/eosio/link-account/{{AvatarId}}/testaccount?walletId=00000000-0000-0000-0000-000000000000&walletAddress=testaddress +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/method.json new file mode 100644 index 000000000..ba9482dc6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/{{AvatarId}}/testaccount?walletId=00000000-0000-0000-0000-000000000000&walletAddress=testaddress" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/not_implemented.txt new file mode 100644 index 000000000..0f868a3fe --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:55 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EOSIOController/link-account/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/error.txt new file mode 100644 index 000000000..1dedbf693 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:41 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/method.json new file mode 100644 index 000000000..df20b13ae --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "?eggType=Golden&name=MyFirstEgg&locationId=00000000-0000-0000-0000-000000000000&locationName=TestLoc&discoveryMethod=Exploration" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/not_implemented.txt new file mode 100644 index 000000000..2b64f6d39 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:41 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/request.json new file mode 100644 index 000000000..62f90efad --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/request.json @@ -0,0 +1 @@ +"Golden" \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/test_report.txt new file mode 100644 index 000000000..859893d7f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/discover/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477597.5697334 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/error.txt new file mode 100644 index 000000000..8216be250 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:42 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/not_implemented.txt new file mode 100644 index 000000000..c5cd0d1e7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:42 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/test_report.txt new file mode 100644 index 000000000..0400d3d1c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-all-eggs/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477572.1391578 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/error.txt new file mode 100644 index 000000000..fdb98c62a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:43 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/not_implemented.txt new file mode 100644 index 000000000..02370bf3c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:43 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/test_report.txt new file mode 100644 index 000000000..ade43e84b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quest-leader-board/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477584.9023228 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/error.txt new file mode 100644 index 000000000..f3870b319 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:44 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/not_implemented.txt new file mode 100644 index 000000000..1cede8f58 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:44 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/test_report.txt new file mode 100644 index 000000000..91dadf62b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/get-current-egg-quests/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477578.689331 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/error.txt new file mode 100644 index 000000000..ef2da0693 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:45 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/method.json new file mode 100644 index 000000000..63483e9dc --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/{{EggId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/not_implemented.txt new file mode 100644 index 000000000..b579a5a3a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:45 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/hatch/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/error.txt new file mode 100644 index 000000000..68d823a6e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:46 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/not_implemented.txt new file mode 100644 index 000000000..0a7d13e58 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:46 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/test_report.txt new file mode 100644 index 000000000..40d8a86db --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/EggsController/my-eggs/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767477591.199946 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/method.json new file mode 100644 index 000000000..136ae2145 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/method.json @@ -0,0 +1,4 @@ +{ + "method": "DELETE", + "url_suffix": "/{{FileId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/delete-file/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/method.json new file mode 100644 index 000000000..2ee43aac2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/{{FileId}}" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/download-file/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/test_report.txt new file mode 100644 index 000000000..0a9e02561 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/get-all-files-stored-for-current-logged-in-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767484216.852926 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/error.txt new file mode 100644 index 000000000..2c7fe76ec --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:56 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/method.json new file mode 100644 index 000000000..3c13c7008 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "?fileName=test.txt&contentType=text/plain" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/not_implemented.txt new file mode 100644 index 000000000..ea14fba74 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:56 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/request.json new file mode 100644 index 000000000..94a5c3b80 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/request.json @@ -0,0 +1 @@ +"SGVsbG8gOASIS" \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/test_report.txt new file mode 100644 index 000000000..67a245587 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/FilesController/upload-file/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767484223.2556589 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/error.txt new file mode 100644 index 000000000..c073c7626 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:57 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/not_implemented.txt new file mode 100644 index 000000000..78656cea6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:57 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/test_report.txt new file mode 100644 index 000000000..6c4c70bf7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/my-gifts/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767474989.629699 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/error.txt new file mode 100644 index 000000000..5324de343 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:46:58 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/method.json new file mode 100644 index 000000000..4896b8099 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/00000000-0000-0000-0000-000000000000?giftType=1&message=TestGift" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/not_implemented.txt new file mode 100644 index 000000000..902c6db5b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:46:58 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/response.json new file mode 100644 index 000000000..68b835b55 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "message": "Gift sent" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/GiftsController/send-gift/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/response.json new file mode 100644 index 000000000..200f23596 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/response.json @@ -0,0 +1,5 @@ +{ + "status": "healthy", + "timestamp": "2026-01-05T05:12:51.3005033Z", + "service": "OASIS API ONODE WebAPI" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/test_report.txt new file mode 100644 index 000000000..50a07abdf --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HealthController/health/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475002.2616527 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/error.txt new file mode 100644 index 000000000..9f11a2c0a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:00 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/method.json new file mode 100644 index 000000000..ca4cc75d6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?avatarId=00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/not_implemented.txt new file mode 100644 index 000000000..dcb921a7a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:00 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/test_report.txt new file mode 100644 index 000000000..f3f70bf68 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HolochainController/get-holochain-agentids-for-avatar/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475008.5421836 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/response.json new file mode 100644 index 000000000..ba8b4e28f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/response.json @@ -0,0 +1,249 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "HyperDrive configuration retrieved successfully.", + "result": { + "isEnabled": true, + "defaultStrategy": "Auto", + "autoFailoverEnabled": true, + "autoReplicationEnabled": true, + "autoLoadBalancingEnabled": true, + "maxRetryAttempts": 3, + "requestTimeoutMs": 5000, + "healthCheckIntervalMs": 30000, + "maxConcurrentRequests": 100, + "performanceWeight": 0.4, + "costWeight": 0.3, + "geographicWeight": 0.2, + "availabilityWeight": 0.1, + "latencyWeight": 0.5, + "throughputWeight": 0.3, + "reliabilityWeight": 0.2, + "maxLatencyThresholdMs": 200, + "maxErrorRateThreshold": 0.05, + "minUptimeThreshold": 99, + "enabledProviders": [ + "MongoDBOASIS", + "SQLLiteDBOASIS", + "EthereumOASIS", + "IPFSOASIS" + ], + "autoFailoverProviders": [ + "MongoDBOASIS", + "SQLLiteDBOASIS" + ], + "autoReplicationProviders": [ + "EthereumOASIS", + "IPFSOASIS" + ], + "loadBalancingProviders": [ + "MongoDBOASIS", + "SQLLiteDBOASIS", + "EthereumOASIS", + "IPFSOASIS" + ], + "providerConfigs": { + "MongoDBOASIS": { + "providerType": "MongoDBOASIS", + "isEnabled": true, + "weight": 80, + "timeoutMs": 5000, + "maxConnections": 100, + "errorThreshold": 0.05, + "minUptime": 99, + "maxLatencyMs": 200, + "customSettings": {} + }, + "SQLLiteDBOASIS": { + "providerType": "SQLLiteDBOASIS", + "isEnabled": true, + "weight": 90, + "timeoutMs": 3000, + "maxConnections": 50, + "errorThreshold": 0.02, + "minUptime": 99.5, + "maxLatencyMs": 100, + "customSettings": {} + }, + "EthereumOASIS": { + "providerType": "EthereumOASIS", + "isEnabled": true, + "weight": 70, + "timeoutMs": 10000, + "maxConnections": 20, + "errorThreshold": 0.1, + "minUptime": 95, + "maxLatencyMs": 1000, + "customSettings": {} + }, + "IPFSOASIS": { + "providerType": "IPFSOASIS", + "isEnabled": true, + "weight": 75, + "timeoutMs": 8000, + "maxConnections": 30, + "errorThreshold": 0.08, + "minUptime": 97, + "maxLatencyMs": 500, + "customSettings": {} + } + }, + "geographicConfig": { + "isEnabled": true, + "defaultRegion": "Global", + "userLocation": "Unknown", + "maxDistanceKm": 500, + "maxNetworkHops": 10, + "maxLatencyMs": 200, + "regions": { + "US-East": { + "name": "US-East", + "country": "United States", + "city": "New York", + "latitude": 40.7128, + "longitude": -74.006, + "timeZone": "EST", + "maxLatencyMs": 100, + "maxNetworkHops": 5 + }, + "US-West": { + "name": "US-West", + "country": "United States", + "city": "San Francisco", + "latitude": 37.7749, + "longitude": -122.4194, + "timeZone": "PST", + "maxLatencyMs": 100, + "maxNetworkHops": 5 + }, + "Europe": { + "name": "Europe", + "country": "United Kingdom", + "city": "London", + "latitude": 51.5074, + "longitude": -0.1278, + "timeZone": "GMT", + "maxLatencyMs": 150, + "maxNetworkHops": 7 + }, + "Asia": { + "name": "Asia", + "country": "Japan", + "city": "Tokyo", + "latitude": 35.6762, + "longitude": 139.6503, + "timeZone": "JST", + "maxLatencyMs": 200, + "maxNetworkHops": 10 + } + } + }, + "costConfig": { + "isEnabled": true, + "currency": "USD", + "maxCostPerOperation": 1, + "maxStorageCostPerGB": 0.1, + "maxComputeCostPerHour": 0.5, + "maxNetworkCostPerGB": 0.05, + "providerCosts": { + "MongoDBOASIS": { + "providerType": "MongoDBOASIS", + "storageCostPerGB": 0.05, + "computeCostPerHour": 0.1, + "networkCostPerGB": 0.02, + "transactionCost": 0.001, + "apiCallCost": 0.0001, + "totalCost": 0.15, + "currency": "USD", + "lastUpdated": "2026-01-05T05:01:20.2269039Z", + "costEfficiencyScore": 85 + }, + "SQLLiteDBOASIS": { + "providerType": "SQLLiteDBOASIS", + "storageCostPerGB": 0.01, + "computeCostPerHour": 0.05, + "networkCostPerGB": 0, + "transactionCost": 0.0001, + "apiCallCost": 1e-05, + "totalCost": 0.06, + "currency": "USD", + "lastUpdated": "2026-01-05T05:01:20.2269449Z", + "costEfficiencyScore": 95 + }, + "EthereumOASIS": { + "providerType": "EthereumOASIS", + "storageCostPerGB": 0.2, + "computeCostPerHour": 0.5, + "networkCostPerGB": 0.1, + "transactionCost": 0.01, + "apiCallCost": 0.001, + "totalCost": 0.81, + "currency": "USD", + "lastUpdated": "2026-01-05T05:01:20.2269452Z", + "costEfficiencyScore": 60 + }, + "IPFSOASIS": { + "providerType": "IPFSOASIS", + "storageCostPerGB": 0.03, + "computeCostPerHour": 0.15, + "networkCostPerGB": 0.01, + "transactionCost": 0.0005, + "apiCallCost": 0.0001, + "totalCost": 0.19, + "currency": "USD", + "lastUpdated": "2026-01-05T05:01:20.2269454Z", + "costEfficiencyScore": 80 + } + } + }, + "performanceConfig": { + "isEnabled": true, + "maxResponseTimeMs": 1000, + "maxErrorRate": 0.05, + "minUptime": 99, + "minThroughputMbps": 10, + "maxConcurrentConnections": 100, + "queueDepthThreshold": 50, + "maxCpuUsage": 80, + "maxMemoryUsage": 80 + }, + "securityConfig": { + "isEnabled": true, + "requireEncryption": true, + "requireAuthentication": true, + "requireAuthorization": true, + "maxRetryAttempts": 3, + "sessionTimeoutMs": 300000, + "maxConcurrentSessions": 10, + "allowedIPs": [], + "blockedIPs": [], + "securityHeaders": { + "X-Content-Type-Options": "nosniff", + "X-Frame-Options": "DENY", + "X-XSS-Protection": "1; mode=block" + } + }, + "monitoringConfig": { + "isEnabled": true, + "metricsCollectionIntervalMs": 30000, + "maxMetricsHistory": 100, + "alertThreshold": 5, + "enableRealTimeMonitoring": true, + "enablePerformanceProfiling": true, + "enableCostTracking": true, + "enableGeographicTracking": true, + "monitoringEndpoints": [], + "customMetrics": {} + } + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/test_report.txt new file mode 100644 index 000000000..bdd7bf015 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/config/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475060.421963 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/response.json new file mode 100644 index 000000000..b5ea8d5cc --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/response.json @@ -0,0 +1,37 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "HyperDrive status retrieved successfully.", + "result": { + "isEnabled": true, + "autoFailoverEnabled": true, + "autoReplicationEnabled": true, + "autoLoadBalancingEnabled": true, + "defaultStrategy": 0, + "enabledProviders": [ + 42, + 44, + 7, + 39 + ], + "loadBalancingProviders": [ + 42, + 44, + 7, + 39 + ], + "totalProviders": 4, + "activeProviders": 4, + "lastHealthCheck": "2026-01-05T05:12:57.3955961Z" + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/test_report.txt new file mode 100644 index 000000000..889d42f19 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/HyperDriveController/status/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475066.707019 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/method.json new file mode 100644 index 000000000..1ca296393 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/1" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/request.json new file mode 100644 index 000000000..88dcfbe66 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/request.json @@ -0,0 +1,3 @@ +{ + "karmaType": 1 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/response.json new file mode 100644 index 000000000..a7ac828f8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/response.json @@ -0,0 +1,5 @@ +{ + "isError": false, + "message": "Karma weighting retrieved successfully", + "result": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KarmaController/get-positive-karma-weighting/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/error.txt new file mode 100644 index 000000000..f080b2ace --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:04 +Error: HTTP 404 +URL: http://localhost:5002/api/keys/generate-keypair/testprefix +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/method.json new file mode 100644 index 000000000..5804bb484 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/testprefix" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/not_implemented.txt new file mode 100644 index 000000000..7c6e87725 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:04 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/test_report.txt new file mode 100644 index 000000000..623296ed4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/KeysController/generate-keypair/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 405 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/error.txt new file mode 100644 index 000000000..be0828bc3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:05 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/method.json new file mode 100644 index 000000000..dc35da60f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?latitude=0&longitude=0&radiusKm=10" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/not_implemented.txt new file mode 100644 index 000000000..b39077f15 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:05 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/test_report.txt new file mode 100644 index 000000000..7bfac066a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/nearby/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475085.6248436 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/error.txt new file mode 100644 index 000000000..633b1ecc3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:06 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/not_implemented.txt new file mode 100644 index 000000000..03630f852 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:06 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/test_report.txt new file mode 100644 index 000000000..78fdf245a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MapController/stats/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475079.3712902 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/error.txt new file mode 100644 index 000000000..c2d678c31 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:07 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/not_implemented.txt new file mode 100644 index 000000000..19d685a9a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:07 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/test_report.txt new file mode 100644 index 000000000..b95a8d569 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/messages/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475092.2126467 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/error.txt new file mode 100644 index 000000000..c8c5379c2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:08 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/method.json new file mode 100644 index 000000000..aa22a4669 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/00000000-0000-0000-0000-000000000000?messageType=Direct" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/not_implemented.txt new file mode 100644 index 000000000..5c4571fc4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:08 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/request.json new file mode 100644 index 000000000..67c9294a4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/request.json @@ -0,0 +1 @@ +"This is a test message" \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/response.json new file mode 100644 index 000000000..45b823c4d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/MessagingController/send-message-to-avatar/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/request.json new file mode 100644 index 000000000..0d6d9eabc --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/request.json @@ -0,0 +1,4 @@ +{ + "Name": "Test Collection", + "Description": "Test Collection Description" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/test_report.txt new file mode 100644 index 000000000..0785920f5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/create-web4-nft-collection/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475758.984539 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/request.json new file mode 100644 index 000000000..d43436e09 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/request.json @@ -0,0 +1,4 @@ +{ + "OnChainProvider": "Solana", + "NFTStandardType": "ERC721" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/test_report.txt new file mode 100644 index 000000000..a763a83b7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/import-web3-nft/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475746.2494922 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/error.txt new file mode 100644 index 000000000..08fc718b4 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:11 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/method.json new file mode 100644 index 000000000..2b349fd19 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/not_implemented.txt new file mode 100644 index 000000000..247bb1c83 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:11 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-geo-nfts-for-avatar/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/error.txt new file mode 100644 index 000000000..d797210f7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:12 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/method.json new file mode 100644 index 000000000..2b349fd19 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/not_implemented.txt new file mode 100644 index 000000000..9d69be18f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:12 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-all-nfts-for_avatar/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/method.json new file mode 100644 index 000000000..c761cf401 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/test-hash" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/response.json new file mode 100644 index 000000000..d2c347b13 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/response.json @@ -0,0 +1,5 @@ +{ + "isError": true, + "message": "NFT not found", + "result": null +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-hash/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/method.json new file mode 100644 index 000000000..2b349fd19 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/response.json new file mode 100644 index 000000000..95065e122 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/response.json @@ -0,0 +1,4 @@ +{ + "isError": true, + "message": "NFT not found" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-nft-by-id/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/method.json new file mode 100644 index 000000000..2b349fd19 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/load-web3-nft-by-id/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/request.json new file mode 100644 index 000000000..302d6e837 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/request.json @@ -0,0 +1,8 @@ +{ + "Title": "Test NFT", + "Description": "Automated Test NFT", + "OnChainProvider": "None", + "OffChainProvider": "None", + "NFTOffChainMetaType": "OASIS", + "NFTStandardType": "ERC1155" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/test_report.txt new file mode 100644 index 000000000..3bb0c71b2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/mint-nft/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475727.137214 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/request.json new file mode 100644 index 000000000..4f59a61d2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/request.json @@ -0,0 +1,6 @@ +{ + "OriginalOASISNFTOffChainProvider": "MongoDBOASIS", + "GeoNFTMetaDataProvider": "MongoDBOASIS", + "Lat": 0, + "Long": 0 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/test_report.txt new file mode 100644 index 000000000..93a2ef5bb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/place-geo-nft/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475740.02557 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/error.txt new file mode 100644 index 000000000..6d928e094 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:18 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/method.json new file mode 100644 index 000000000..ac145853b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/test-query/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/not_implemented.txt new file mode 100644 index 000000000..8116ae41f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:18 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-geo-nfts/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/error.txt new file mode 100644 index 000000000..050662610 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:19 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/method.json new file mode 100644 index 000000000..ac145853b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/test-query/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/not_implemented.txt new file mode 100644 index 000000000..dc5b647a0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:19 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nft-collections/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/error.txt new file mode 100644 index 000000000..84350dcde --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:20 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/method.json new file mode 100644 index 000000000..ac145853b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/test-query/00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/not_implemented.txt new file mode 100644 index 000000000..d2d844d5b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:20 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/search-web4-nfts/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/request.json new file mode 100644 index 000000000..47eb6b6a9 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/request.json @@ -0,0 +1,7 @@ +{ + "FromWalletAddress": "0x000000", + "ToWalletAddress": "0x000000", + "FromProvider": "Solana", + "ToProvider": "Solana", + "Amount": 1 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/test_report.txt new file mode 100644 index 000000000..5bcf61959 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/NftController/send-nft/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475733.5523288 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/error.txt new file mode 100644 index 000000000..f396514ce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:22 +Error: HTTP 404 +URL: http://localhost:5002/api/oapp/installed +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/not_implemented.txt new file mode 100644 index 000000000..6261d703b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:22 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/response.json new file mode 100644 index 000000000..d29f8a7f5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/response.json @@ -0,0 +1,5 @@ +{ + "isError": false, + "message": "OAPPs retrieved successfully", + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OAPPController/installed/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/error.txt new file mode 100644 index 000000000..86fe49a7c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:23 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/method.json new file mode 100644 index 000000000..0b265bf3c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?count=1&couponCode=" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/not_implemented.txt new file mode 100644 index 000000000..b6df03cd5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:23 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/test_report.txt new file mode 100644 index 000000000..ab737b479 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/get-oland-price/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475146.7068841 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/error.txt new file mode 100644 index 000000000..bc2865f97 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:24 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/not_implemented.txt new file mode 100644 index 000000000..f2c91970e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:24 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/test_report.txt new file mode 100644 index 000000000..4ed7a4c8d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/OLandController/load-all-olands/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475153.1564188 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/error.txt new file mode 100644 index 000000000..ab8fb063b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:25 +Error: HTTP 404 +URL: http://localhost:5002/api/onet/network-stats +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/not_implemented.txt new file mode 100644 index 000000000..629e531e9 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:25 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-stats/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/error.txt new file mode 100644 index 000000000..f02a51e45 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:26 +Error: HTTP 404 +URL: http://localhost:5002/api/onet/network-status +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/not_implemented.txt new file mode 100644 index 000000000..f93dca850 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:26 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONETController/network-status/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/error.txt new file mode 100644 index 000000000..36fcc5673 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:27 +Error: HTTP 404 +URL: http://localhost:5002/api/onode/info +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/not_implemented.txt new file mode 100644 index 000000000..7aa80a741 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:27 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/info/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/error.txt new file mode 100644 index 000000000..66bfa0395 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:28 +Error: HTTP 404 +URL: http://localhost:5002/api/onode/status +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/not_implemented.txt new file mode 100644 index 000000000..c22ca03a0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:28 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/response.json new file mode 100644 index 000000000..602a72741 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/response.json @@ -0,0 +1,6 @@ +{ + "isError": false, + "result": { + "status": "Running" + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ONODEController/status/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/error.txt new file mode 100644 index 000000000..b05f617de --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:29 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/not_implemented.txt new file mode 100644 index 000000000..2265772d8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:29 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/test_report.txt new file mode 100644 index 000000000..bbf4dcca3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-all-registered-providers/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475190.886772 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/error.txt new file mode 100644 index 000000000..51c25eff8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:30 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/not_implemented.txt new file mode 100644 index 000000000..6e65fb31b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:30 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/test_report.txt new file mode 100644 index 000000000..1e4698a9a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ProviderController/get-current-storage-provider/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475184.8375223 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/error.txt new file mode 100644 index 000000000..6182e1cd2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:31 +Error: HTTP 400 +URL: http://localhost:5002/api/search/get-search-results?query=test +Response: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"":["A non-empty request body is required."]},"traceId":"00-c1c96d6a9c1ba449c9ee22c910072a49-d6a0f8c3241ffc06-00"} diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/method.json new file mode 100644 index 000000000..ba888e4c9 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "?query=test" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/not_implemented.txt new file mode 100644 index 000000000..f77430a99 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:31 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 400 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/response.json new file mode 100644 index 000000000..2262f320b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 1, + "warningCount": 13, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": true, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "All registered OASIS Providers in the AutoFailOverList failed to search. ErrorCount: 0. WarningCount: 13. Please view the logs or DetailedMessage property for more information. Providers in the list are: MongoDBOASIS, ArbitrumOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, PinataOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS & ThreeFoldOASIS", + "detailedMessage": "Error Details: Error in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\nError in SearchProviderAsync method in SearchManager for provider MongoDBOASIS. Reason: One or more errors occurred. (Object reference not set to an instance of an object.)\n\n" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/test_report.txt new file mode 100644 index 000000000..07426ef95 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SearchController/get-search-results/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475240.177281 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/error.txt new file mode 100644 index 000000000..be56d3699 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:32 +Error: HTTP 404 +URL: http://localhost:5002/api/seeds/get-my-transactions +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/not_implemented.txt new file mode 100644 index 000000000..6156897b3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:32 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SeedsController/get-my-transactions/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/error.txt new file mode 100644 index 000000000..d1cac985b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:33 +Error: HTTP 404 +URL: http://localhost:5002/api/settings/get-all-settings +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/not_implemented.txt new file mode 100644 index 000000000..67fd50785 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:33 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/get-all-settings/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/response.json new file mode 100644 index 000000000..eb331923f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/response.json @@ -0,0 +1,28 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "System configuration retrieved successfully.", + "result": { + "version": "4.4.4", + "environment": "Development", + "timestamp": "2026-01-05T05:14:02.7269455Z", + "features": { + "karmaSystem": true, + "giftSystem": true, + "chatSystem": true, + "questSystem": true, + "achievementSystem": true, + "leaderboardSystem": true + } + } +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/test_report.txt new file mode 100644 index 000000000..fae4789ba --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SettingsController/system-config/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475252.3535874 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/error.txt new file mode 100644 index 000000000..24755f606 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:35 +Error: HTTP 404 +URL: http://localhost:5002/api/share/share-holon +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/not_implemented.txt new file mode 100644 index 000000000..edf213f0d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:35 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/response.json new file mode 100644 index 000000000..d57198f85 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/ShareController/share-holon/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/error.txt new file mode 100644 index 000000000..be8806dd8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:36 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/not_implemented.txt new file mode 100644 index 000000000..7f1d1c35e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:36 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/test_report.txt new file mode 100644 index 000000000..3c80e1c1e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SocialController/social-feed/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475271.3823698 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/error.txt new file mode 100644 index 000000000..4374a4b70 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:37 +Error: HTTP 404 +URL: http://localhost:5002/api/solana/mint-nft +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/method.json new file mode 100644 index 000000000..e90c8bd6a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/not_implemented.txt new file mode 100644 index 000000000..546a56daf --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:37 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/request.json new file mode 100644 index 000000000..4f2916ad8 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/request.json @@ -0,0 +1,4 @@ +{ + "MintPublicKeyAccount": "pubkey", + "MintDecimals": 0 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SolanaController/mint-nft/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/error.txt new file mode 100644 index 000000000..8a0a9a0fd --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:38 +Error: HTTP 404 +URL: http://localhost:5002/api/stats/avatar-stats +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/not_implemented.txt new file mode 100644 index 000000000..5c27f8d2b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:38 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/avatar-stats/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/error.txt new file mode 100644 index 000000000..641cf9894 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/error.txt @@ -0,0 +1,2 @@ +Timestamp: 2026-01-03 16:47:39 +Error: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/not_implemented.txt new file mode 100644 index 000000000..264099814 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:39 +Status: Not Implemented / Disabled / Failed +Details: API returned error: Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route. diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/test_report.txt new file mode 100644 index 000000000..023b3d37c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/StatsController/system-stats/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475330.1626706 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/error.txt new file mode 100644 index 000000000..5daf904ec --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:40 +Error: HTTP 404 +URL: http://localhost:5002/api/subscription/get-plans +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/not_implemented.txt new file mode 100644 index 000000000..4983eae14 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:40 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/SubscriptionController/get-plans/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/error.txt new file mode 100644 index 000000000..a0470157b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:41 +Error: HTTP 404 +URL: http://localhost:5002/api/video/start-call +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/not_implemented.txt new file mode 100644 index 000000000..e2c04c585 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:41 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/request.json new file mode 100644 index 000000000..0637a088a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/request.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/response.json new file mode 100644 index 000000000..bb3f2084c --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": "" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/VideoController/start-call/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/error.txt new file mode 100644 index 000000000..2d9fab34f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:42 +Error: HTTP 404 +URL: http://localhost:5002/api/wallet/create-wallet/avatar/00000000-0000-0000-0000-000000000000/create-wallet +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/method.json new file mode 100644 index 000000000..1bf4a9772 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/method.json @@ -0,0 +1,4 @@ +{ + "method": "POST", + "url_suffix": "/avatar/00000000-0000-0000-0000-000000000000/create-wallet" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/not_implemented.txt new file mode 100644 index 000000000..9111d916d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:42 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/request.json new file mode 100644 index 000000000..f5c6c3b0a --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/request.json @@ -0,0 +1,4 @@ +{ + "Name": "New Wallet", + "WalletProviderType": "Ethereum" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/response.json new file mode 100644 index 000000000..43e24fd05 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/response.json @@ -0,0 +1,3 @@ +{ + "isError": true +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/create-wallet/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/error.txt new file mode 100644 index 000000000..a737911b7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:43 +Error: HTTP 404 +URL: http://localhost:5002/api/wallet/portfolio-value +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/not_implemented.txt new file mode 100644 index 000000000..e1a6656e5 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:43 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/response.json new file mode 100644 index 000000000..95e58efd0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": {} +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/portfolio-value/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/method.json new file mode 100644 index 000000000..98cae590b --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/method.json @@ -0,0 +1,3 @@ +{ + "method": "POST" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/request.json new file mode 100644 index 000000000..54b6645d0 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/request.json @@ -0,0 +1,6 @@ +{ + "FromWalletId": "00000000-0000-0000-0000-000000000000", + "ToWalletAddress": "0x123...", + "Token": "ETH", + "Amount": 0.1 +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/response.json new file mode 100644 index 000000000..a3349acd3 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/response.json @@ -0,0 +1,16 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": true, + "isWarning": false, + "isSaved": false, + "isLoaded": false, + "isDeleted": false, + "message": "Unauthorized. Try Logging In First With api/avatar/authenticate REST API Route.", + "result": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/test_report.txt new file mode 100644 index 000000000..c9174850e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/send_token/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475780.4129016 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/method.json new file mode 100644 index 000000000..f7606166f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/method.json @@ -0,0 +1,3 @@ +{ + "method": "GET" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/response.json new file mode 100644 index 000000000..5e3efdbb2 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/response.json @@ -0,0 +1,87 @@ +{ + "resultsCount": 0, + "errorCount": 0, + "warningCount": 0, + "savedCount": 0, + "loadedCount": 0, + "deletedCount": 0, + "hasAnyHolonsChanged": false, + "isError": false, + "isWarning": false, + "isSaved": false, + "isLoaded": true, + "isDeleted": false, + "message": "Supported chains retrieved successfully", + "result": [ + { + "id": "ethereum", + "name": "Ethereum", + "symbol": "ETH", + "icon": "ethereum.png", + "isActive": true + }, + { + "id": "bitcoin", + "name": "Bitcoin", + "symbol": "BTC", + "icon": "bitcoin.png", + "isActive": true + }, + { + "id": "solana", + "name": "Solana", + "symbol": "SOL", + "icon": "solana.png", + "isActive": true + }, + { + "id": "polygon", + "name": "Polygon", + "symbol": "MATIC", + "icon": "polygon.png", + "isActive": true + }, + { + "id": "arbitrum", + "name": "Arbitrum", + "symbol": "ARB", + "icon": "arbitrum.png", + "isActive": true + }, + { + "id": "optimism", + "name": "Optimism", + "symbol": "OP", + "icon": "optimism.png", + "isActive": true + }, + { + "id": "base", + "name": "Base", + "symbol": "BASE", + "icon": "base.png", + "isActive": true + }, + { + "id": "avalanche", + "name": "Avalanche", + "symbol": "AVAX", + "icon": "avalanche.png", + "isActive": true + }, + { + "id": "bnb", + "name": "BNB Chain", + "symbol": "BNB", + "icon": "bnb.png", + "isActive": true + }, + { + "id": "fantom", + "name": "Fantom", + "symbol": "FTM", + "icon": "fantom.png", + "isActive": true + } + ] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/test_report.txt new file mode 100644 index 000000000..aab1c1270 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/supported-chains/test_report.txt @@ -0,0 +1,2 @@ +PASS: HTTP 200 +Date: 1767475355.332363 \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/error.txt new file mode 100644 index 000000000..e2ad0c46f --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:46 +Error: HTTP 404 +URL: http://localhost:5002/api/wallet/wallet-analytics/avatar/00000000-0000-0000-0000-000000000000/wallet/00000000-0000-0000-0000-000000000000/analytics +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/method.json new file mode 100644 index 000000000..fe79855a7 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/avatar/00000000-0000-0000-0000-000000000000/wallet/00000000-0000-0000-0000-000000000000/analytics" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/not_implemented.txt new file mode 100644 index 000000000..7f661ab85 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:46 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/response.json new file mode 100644 index 000000000..1c9aab449 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/response.json @@ -0,0 +1,3 @@ +{ + "isError": false +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallet-analytics/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/error.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/error.txt new file mode 100644 index 000000000..55a7223b6 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/error.txt @@ -0,0 +1,4 @@ +Timestamp: 2026-01-03 16:47:47 +Error: HTTP 404 +URL: http://localhost:5002/api/wallet/wallets-by-chain/00000000-0000-0000-0000-000000000000/wallets/chain/ethereum +Response: diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/method.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/method.json new file mode 100644 index 000000000..12d614c48 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/method.json @@ -0,0 +1,4 @@ +{ + "method": "GET", + "url_suffix": "/00000000-0000-0000-0000-000000000000/wallets/chain/ethereum" +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/not_implemented.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/not_implemented.txt new file mode 100644 index 000000000..d67746796 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/not_implemented.txt @@ -0,0 +1,3 @@ +Timestamp: 2026-01-03 16:47:47 +Status: Not Implemented / Disabled / Failed +Details: Endpoint failed with HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/request.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/request.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/request.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/response.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/response.json new file mode 100644 index 000000000..22a7a721d --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/response.json @@ -0,0 +1,4 @@ +{ + "isError": false, + "result": [] +} \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/test_report.txt b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/test_report.txt new file mode 100644 index 000000000..89d21dcce --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/ApiTestResults/WalletController/wallets-by-chain/test_report.txt @@ -0,0 +1 @@ +FAIL: HTTP 404 diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/AvatarController.cs b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/AvatarController.cs index 5a1fd4fcf..6fa5bef2a 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/AvatarController.cs +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/AvatarController.cs @@ -46,32 +46,49 @@ public AvatarController() { } - /// - /// Register a new avatar with the OASIS system. - /// - /// Registration details including username, email, password, and optional provider preferences. - /// OASIS result containing the newly created avatar or error details. - /// Avatar successfully registered - /// Invalid registration data or user already exists - [HttpPost("register")] - [ProducesResponseType(typeof(OASISHttpResponseMessage), StatusCodes.Status200OK)] - [ProducesResponseType(typeof(OASISHttpResponseMessage), StatusCodes.Status400BadRequest)] - public async Task> Register(RegisterRequest model) - { - // Call AvatarManager directly - var result = await AvatarManager.RegisterAsync( - model.Title, - model.FirstName, - model.LastName, - model.Email, - model.Password, - model.Username, - model.AvatarType != null ? (AvatarType)Enum.Parse(typeof(AvatarType), model.AvatarType) : AvatarType.User, - OASISType.OASISAPIREST - ); + // /// + // /// Register a new avatar with the OASIS system. + // /// + // /// Registration details including username, email, password, and optional provider preferences. + // /// OASIS result containing the newly created avatar or error details. + // /// Avatar successfully registered + // /// Invalid registration data or user already exists + // [HttpPost("register")] + // [ProducesResponseType(typeof(OASISHttpResponseMessage), StatusCodes.Status200OK)] + // [ProducesResponseType(typeof(OASISHttpResponseMessage), StatusCodes.Status400BadRequest)] + // public async Task> Register(RegisterRequest model) + // { + // AvatarType avatarType = model.AvatarType != null ? (AvatarType)Enum.Parse(typeof(AvatarType), model.AvatarType) : AvatarType.User; + + // if (avatarType == AvatarType.Wizard || avatarType == AvatarType.Admin) + // { + // var adminResult = await AvatarManager.RegisterAdminAsync( + // model.FirstName, + // model.LastName, + // model.Email, + // model.Username, + // model.Password, + // OASISType.OASISAPIREST, + // avatarTitle: model.Title, + // avatarType: avatarType + // ); + // return HttpResponseHelper.FormatResponse(adminResult); + // } + + // // Call AvatarManager directly + // var result = await AvatarManager.RegisterAsync( + // model.Title, + // model.FirstName, + // model.LastName, + // model.Email, + // model.Password, + // model.Username, + // avatarType, + // OASISType.OASISAPIREST + // ); - return HttpResponseHelper.FormatResponse(result); - } + // return HttpResponseHelper.FormatResponse(result); + // } /// /// Register a new avatar. Pass in the provider you wish to use. Set the setglobally flag to false for this provider to diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/FilesController.cs b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/FilesController.cs index e538ccb6d..43a9f0028 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/FilesController.cs +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/FilesController.cs @@ -140,7 +140,7 @@ public async Task>> GetAllFilesStoredForCurrentLogg /// [Authorize] [HttpPost("upload-file")] - public async Task> UploadFile(string fileName, byte[] fileData, string contentType, Dictionary metadata = null) + public async Task> UploadFile([FromQuery] string fileName, [FromBody] byte[] fileData, [FromQuery] string contentType, [FromQuery] Dictionary metadata = null) { return await FilesManager.Instance.UploadFileAsync(AvatarId, fileName, fileData, contentType, metadata); } diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/NftController.cs b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/NftController.cs index 10957bbd3..cf5a8a41c 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/NftController.cs +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/NftController.cs @@ -696,7 +696,7 @@ public async Task> CreateWeb4NFTCollectionAsync( [ProducesResponseType(typeof(OASISResult), StatusCodes.Status400BadRequest)] public async Task>> SearchWeb4NFTsAsync(string searchTerm, Guid avatarId, bool searchOnlyForCurrentAvatar = true, ProviderType providerType = ProviderType.Default) { - return await NFTManager.SearchWeb4NFTsAsync(searchTerm, avatarId, searchOnlyForCurrentAvatar, providerType); + return await NFTManager.SearchWeb4NFTsAsync(searchTerm, avatarId, null, MetaKeyValuePairMatchMode.All, searchOnlyForCurrentAvatar, providerType); } /// @@ -714,7 +714,7 @@ public async Task>> SearchWeb4NFTsAsync(string [ProducesResponseType(typeof(OASISResult), StatusCodes.Status400BadRequest)] public async Task>> SearchWeb4GeoNFTsAsync(string searchTerm, Guid avatarId, bool searchOnlyForCurrentAvatar = true, ProviderType providerType = ProviderType.Default) { - return await NFTManager.SearchWeb4GeoNFTsAsync(searchTerm, avatarId, searchOnlyForCurrentAvatar, providerType); + return await NFTManager.SearchWeb4GeoNFTsAsync(searchTerm, avatarId, null, MetaKeyValuePairMatchMode.All, searchOnlyForCurrentAvatar, providerType); } /// @@ -732,7 +732,7 @@ public async Task>> SearchWeb4GeoNFT [ProducesResponseType(typeof(OASISResult), StatusCodes.Status400BadRequest)] public async Task>> SearchWeb4NFTCollectionsAsync(string searchTerm, Guid avatarId, bool searchOnlyForCurrentAvatar = true, ProviderType providerType = ProviderType.Default) { - return await NFTManager.SearchWeb4NFTCollectionsAsync(searchTerm, avatarId, searchOnlyForCurrentAvatar, providerType); + return await NFTManager.SearchWeb4NFTCollectionsAsync(searchTerm, avatarId, null, MetaKeyValuePairMatchMode.All, searchOnlyForCurrentAvatar, providerType); } } } \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/mongodb-seed.py b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/mongodb-seed.py new file mode 100644 index 000000000..f81762d83 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/mongodb-seed.py @@ -0,0 +1,103 @@ + +import pymongo +from pymongo import MongoClient, TEXT, ASCENDING, DESCENDING +import os +import time +import json +import urllib.request +import urllib.error +import datetime + +# Configuration +MONGO_URI = os.getenv("MONGO_URI", "mongodb://oasis:oasis123@localhost:27017/?authSource=admin") +DB_NAME = os.getenv("DB_NAME", "OASISAPI_DEV") + +def seed_database(): + try: + print(f"Connecting to MongoDB at {MONGO_URI}...") + client = MongoClient(MONGO_URI) + db = client[DB_NAME] + print(f"Connected to database: {DB_NAME}") + print(f"Available Databases: {client.list_database_names()}") + + # Collections to create/ensure + collections = [ + "Avatars", "AvatarDetails", "Holons", "StoredFiles", "NFTs", + "Missions", "Quests", "CelestialBodies", "RefreshTokens" + ] + + # 1. Avatars Collection (Validation) + try: + db.create_collection("Avatars", validator={ + "$jsonSchema": { + "bsonType": "object", + "required": ["Email", "Username", "CreatedDate"], + "properties": { + "Email": { "bsonType": "string" }, + "Username": { "bsonType": "string" }, + "Password": { "bsonType": "string" }, + "Title": { "bsonType": "string" }, + "FirstName": { "bsonType": "string" }, + "LastName": { "bsonType": "string" }, + "AvatarType": { "bsonType": "int" }, + "IsActive": { "bsonType": "bool" }, + "IsActive": { "bsonType": "bool" }, + "Verified": { "bsonType": "date" }, + "CreatedDate": { "bsonType": "date" }, + "ModifiedDate": { "bsonType": "date" }, + "Karma": { "bsonType": "int" }, + "Level": { "bsonType": "int" } + } + } + }) + print("[+] Created collection: Avatars") + except pymongo.errors.CollectionInvalid: + print("[*] Collection Avatars already exists from previous runs") + + # 2. Indexes + print("Creating indexes...") + + # Avatars + db.Avatars.create_index([("Email", ASCENDING)], unique=True) + db.Avatars.create_index([("Username", ASCENDING)], unique=True) + db.Avatars.create_index([("Id", ASCENDING)], unique=True) + + # AvatarDetails + db.AvatarDetails.create_index([("AvatarId", ASCENDING)]) + + # Holons + db.Holons.create_index([("Id", ASCENDING)], unique=True) + db.Holons.create_index([("ParentId", ASCENDING)]) + db.Holons.create_index([("CreatedByAvatarId", ASCENDING)]) + + # StoredFiles + db.StoredFiles.create_index([("Id", ASCENDING)], unique=True) + db.StoredFiles.create_index([("AvatarId", ASCENDING)]) + + # NFTs + db.NFTs.create_index([("Id", ASCENDING)], unique=True) + db.NFTs.create_index([("AvatarId", ASCENDING)]) + + # Missions + db.Missions.create_index([("Id", ASCENDING)], unique=True) + + # Quests + db.Quests.create_index([("Id", ASCENDING)], unique=True) + + # CelestialBodies + db.CelestialBodies.create_index([("Id", ASCENDING)], unique=True) + + # RefreshTokens + db.RefreshTokens.create_index([("Token", ASCENDING)]) + db.RefreshTokens.create_index([("AvatarId", ASCENDING)]) + + print("OASIS collections and indexes configured successfully!") + print(f"Database: {DB_NAME}") + print(f"Collections: {', '.join(collections)}") + + except Exception as e: + print(f"[-] Error seeding database: {e}") + + +if __name__ == "__main__": + seed_database() diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_registration_test.py b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_registration_test.py new file mode 100644 index 000000000..05e52ca7e --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_registration_test.py @@ -0,0 +1,55 @@ +import json +import urllib.request +import urllib.error +import uuid +import random + +def run_registration_test(): + url = "http://localhost:5002/api/Avatar/register" + + # Generate random user data + random_id = str(uuid.uuid4())[:8] + username = f"test_user_{random_id}" + email = f"test_{random_id}@oasisplatform.world" + + payload = { + "Title": "Mr", + "FirstName": "Test", + "LastName": "User", + "Email": email, + "Username": username, + "Password": "password", + "ConfirmPassword": "password", + "AvatarType": "User", + "AcceptTerms": True + } + + print("[*] Registering random user with payload:") + print(json.dumps(payload, indent=2)) + + try: + data = json.dumps(payload).encode('utf-8') + headers = {'Content-Type': 'application/json'} + req = urllib.request.Request(url, data=data, method='POST', headers=headers) + + print(f"[*] Sending POST request to {url}...") + + with urllib.request.urlopen(req) as response: + status_code = response.getcode() + response_body = response.read().decode('utf-8') + + if status_code == 200: + print(f"[+] Registration successful (HTTP {status_code}).") + print(f"[-] Response: {response_body}") + else: + print(f"[-] Registration returned HTTP {status_code}") + print(f"[-] Response: {response_body}") + + except urllib.error.HTTPError as e: + print(f"[-] Registration failed: {e.code}") + print(f"[-] Error Response: {e.read().decode('utf-8')}") + except Exception as e: + print(f"[-] An error occurred: {e}") + +if __name__ == "__main__": + run_registration_test() diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_tests.py b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_tests.py new file mode 100644 index 000000000..a782f8183 --- /dev/null +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Controllers/scripts/run_tests.py @@ -0,0 +1,192 @@ +import json +import urllib.request +import urllib.error +import os +import glob + +# Configuration +API_BASE_URL = "http://localhost:5002/api" +TEST_RESULTS_DIR = os.path.join(os.path.dirname(__file__), '..', 'ApiTestResults') +TEST_RESULTS_DIR = os.path.normpath(TEST_RESULTS_DIR) + +def get_admin_auth_headers(): + print("[*] Authenticating Super Admin...") + url = f"{API_BASE_URL}/Avatar/Authenticate" + payload = { + "Username": "super_admin", + "Password": "password" + } + + try: + data = json.dumps(payload).encode('utf-8') + headers = {'Content-Type': 'application/json'} + req = urllib.request.Request(url, data=data, method='POST', headers=headers) + + with urllib.request.urlopen(req) as response: + if response.getcode() == 200: + print("[+] Admin Authentication successful.") + response_body = response.read().decode('utf-8') + json_response = json.loads(response_body) + + auth_headers = {'Content-Type': 'application/json'} + + # 1. Try body (various casings) for Bearer token + result_obj = json_response.get("Result") or json_response.get("result") or {} + jwt_token = ( + result_obj.get("JwtToken") or + result_obj.get("jwtToken") or + result_obj.get("jwt_token") or + result_obj.get("token") + ) + + if jwt_token: + print(f"[+] Bearer Token found: {jwt_token[:20]}...") + auth_headers['Authorization'] = f'Bearer {jwt_token}' + + # 2. Try cookies (refreshToken) + set_cookie_header = response.getheader('Set-Cookie') + if set_cookie_header: + print(f"[*] Found Set-Cookie header: {set_cookie_header}") + auth_headers['Cookie'] = set_cookie_header + # Note: We can just pass back the full Set-Cookie string as 'Cookie' or parse it. + # Passing it back directly often works if it's a single cookie, + # but technically we should strip 'Path', 'Expires' etc. + # Let's clean it up to be safe. + import http.cookies + cookie = http.cookies.SimpleCookie() + cookie.load(set_cookie_header) + if 'refreshToken' in cookie: + cleaned_cookie = f"refreshToken={cookie['refreshToken'].value}" + auth_headers['Cookie'] = cleaned_cookie + print(f"[+] Cookie set for requests: {cleaned_cookie[:20]}...") + + if 'Authorization' in auth_headers or 'Cookie' in auth_headers: + return auth_headers + else: + print("[-] Token NOT found in response body or cookies.") + print(f"[*] Response Headers: {response.info()}") + print(f"[*] Response Body: {response_body}") + return None + else: + print(f"[-] Admin Authentication returned HTTP {response.getcode()}") + try: + print(f"[-] Response Body: {response.read().decode('utf-8')}") + except: + pass + return None + + except Exception as e: + print(f"[-] Admin Authentication exception: {e}") + return None + +def run_tests(): + auth_headers = get_admin_auth_headers() + if not auth_headers: + print("[-] Cannot proceed without authentication.") + return + + print(f"[*] Starting regression tests walking through {TEST_RESULTS_DIR}...") + + pass_count = 0 + fail_count = 0 + + # Walk through all directories in ApiTestResults + for root, dirs, files in os.walk(TEST_RESULTS_DIR): + if "request.json" in files: + # Construct API endpoint from path + # Path structure: .../ApiTestResults/ControllerName/ActionName/request.json + rel_path = os.path.relpath(root, TEST_RESULTS_DIR) + path_parts = rel_path.split(os.sep) + + if len(path_parts) >= 2: + controller_dir = path_parts[0] + action_name = path_parts[1] + + # Strip 'Controller' suffix from controller name for URL + if controller_dir.endswith("Controller"): + controller_name = controller_dir[:-10] + else: + controller_name = controller_dir + + url = f"{API_BASE_URL}/{controller_name}/{action_name}" + + # Determine HTTP Method + method = "POST" # Default + method_file = os.path.join(root, "method.json") + if os.path.exists(method_file): + try: + with open(method_file, 'r') as f: + method_data = json.load(f) + if isinstance(method_data, dict): + method = method_data.get("method", "POST").upper() + elif isinstance(method_data, str): + method = method_data.upper() + except: + pass # Default to POST + + print(f"[*] Testing {method} {url}...") + + # Read Request Body + request_file = os.path.join(root, "request.json") + try: + with open(request_file, 'r') as f: + payload = json.load(f) + except Exception as e: + print(f" [-] Error reading request.json: {e}") + continue + + # Execute Request + try: + data = json.dumps(payload).encode('utf-8') + + # Merge auth headers with request headers + req_headers = auth_headers.copy() + + req = urllib.request.Request(url, data=data, method=method, headers=req_headers) + + with urllib.request.urlopen(req) as response: + status_code = response.getcode() + response_body = response.read().decode('utf-8') + + # Write response to file + with open(os.path.join(root, "response.json"), "w") as f: + try: + json_resp = json.loads(response_body) + json.dump(json_resp, f, indent=2) + except: + f.write(response_body) + + if 200 <= status_code < 300: + print(f" [+] PASS (HTTP {status_code})") + with open(os.path.join(root, "test_report.txt"), "w") as f: + f.write(f"PASS: HTTP {status_code}\nDate: {os.path.getmtime(request_file)}") + pass_count += 1 + else: + print(f" [-] FAIL (HTTP {status_code})") + with open(os.path.join(root, "test_report.txt"), "w") as f: + f.write(f"FAIL: HTTP {status_code}\n") + fail_count += 1 + + except urllib.error.HTTPError as e: + print(f" [-] FAIL (HTTP {e.code})") + error_body = e.read().decode('utf-8') + with open(os.path.join(root, "error.log"), "w") as f: + f.write(f"HTTP {e.code}\n{error_body}") + with open(os.path.join(root, "test_report.txt"), "w") as f: + f.write(f"FAIL: HTTP {e.code}\n") + fail_count += 1 + except Exception as e: + print(f" [-] EXCEPTION: {e}") + with open(os.path.join(root, "error.log"), "w") as f: + f.write(str(e)) + with open(os.path.join(root, "test_report.txt"), "w") as f: + f.write(f"FAIL: Exception {e}\n") + fail_count += 1 + + print("-" * 30) + print(f"Test Run Complete.") + print(f"Passed: {pass_count}") + print(f"Failed: {fail_count}") + +if __name__ == "__main__": + run_tests() diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile deleted file mode 100644 index 5901ee6f4..000000000 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -# Use the official .NET 8 runtime as base image -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -# Use the .NET 8 SDK for building -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -WORKDIR /src - -# Copy project files -COPY ["NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj", "NextGenSoftware.OASIS.API.ONODE.WebAPI/"] -COPY ["NextGenSoftware.OASIS.API.ONODE.Core/NextGenSoftware.OASIS.API.ONODE.Core.csproj", "NextGenSoftware.OASIS.API.ONODE.Core/"] -COPY ["../../OASIS Architecture/NextGenSoftware.OASIS.API.DNA/NextGenSoftware.OASIS.API.DNA.csproj", "../../OASIS Architecture/NextGenSoftware.OASIS.API.DNA/"] - -# Restore dependencies -RUN dotnet restore "NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" - -# Copy all source code -COPY . . - -# Build the application -WORKDIR "/src/NextGenSoftware.OASIS.API.ONODE.WebAPI" -RUN dotnet build "NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -c Release -o /app/build - -# Publish the application -FROM build AS publish -RUN dotnet publish "NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false - -# Final stage -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . - -# Set environment variables -ENV ASPNETCORE_ENVIRONMENT=Production -ENV ASPNETCORE_URLS=http://+:8080 - -# Health check -HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ - CMD curl -f http://localhost:8080/api/health || exit 1 - -ENTRYPOINT ["dotnet", "NextGenSoftware.OASIS.API.ONODE.WebAPI.dll"] \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile.original b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile.original deleted file mode 100644 index 0e36b29a7..000000000 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile.original +++ /dev/null @@ -1,22 +0,0 @@ -#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. - -FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base -WORKDIR /app -EXPOSE 80 -EXPOSE 443 - -FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build -WORKDIR /src -COPY ["NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj", "NextGenSoftware.OASIS.API.ONODE.WebAPI/"] -RUN dotnet restore "NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -COPY . . -WORKDIR "/src/NextGenSoftware.OASIS.API.ONODE.WebAPI" -RUN dotnet build "NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -c Release -o /app/build - -FROM build AS publish -RUN dotnet publish "NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -c Release -o /app/publish - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "NextGenSoftware.OASIS.API.ONODE.WebAPI.dll"] \ No newline at end of file diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj index 1f3af33a0..e017e3b30 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj @@ -6,7 +6,7 @@ - net8.0 + net9.0 InProcess NextGenSoftware.OASIS.API.ONODE.WebAPI NextGenSoftware.OASIS.API.ONODE.WebAPI diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Startup.cs b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Startup.cs index 6296295f6..71c11e2fe 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Startup.cs +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Startup.cs @@ -291,7 +291,8 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env) app.UseStaticFiles(); // app.UseMvcWithDefaultRoute(); - app.UseHttpsRedirection(); + if (Configuration.GetValue("UseHttpsRedirection")) + app.UseHttpsRedirection(); app.UseRouting(); //app.UseSession(); diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/appsettings.json b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/appsettings.json index 4e6cd97f9..17f21639e 100644 --- a/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/appsettings.json +++ b/ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/appsettings.json @@ -10,16 +10,8 @@ "Kestrel": { "Endpoints": { "Http": { - "Url": "http://localhost:5003" - }, - "Https": { - "Url": "https://localhost:5004" + "Url": "http://0.0.0.0:8080" } } } -} - - - - - +} \ No newline at end of file diff --git a/Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/NextGenSoftware.OASIS.API.Providers.HoloOASIS.csproj b/Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/NextGenSoftware.OASIS.API.Providers.HoloOASIS.csproj index 81fc40c26..b6e02bd10 100644 --- a/Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/NextGenSoftware.OASIS.API.Providers.HoloOASIS.csproj +++ b/Providers/Network/NextGenSoftware.OASIS.API.Providers.HoloOASIS/NextGenSoftware.OASIS.API.Providers.HoloOASIS.csproj @@ -50,8 +50,8 @@ - - + + diff --git a/Providers/Other/NextGenSoftware.OASIS.API.Providers.ONION-Protocol/NextGenSoftware.OASIS.API.Providers.ONION-Protocol.csproj b/Providers/Other/NextGenSoftware.OASIS.API.Providers.ONION-Protocol/NextGenSoftware.OASIS.API.Providers.ONION-Protocol.csproj index 5b27cad86..bd47313b7 100644 --- a/Providers/Other/NextGenSoftware.OASIS.API.Providers.ONION-Protocol/NextGenSoftware.OASIS.API.Providers.ONION-Protocol.csproj +++ b/Providers/Other/NextGenSoftware.OASIS.API.Providers.ONION-Protocol/NextGenSoftware.OASIS.API.Providers.ONION-Protocol.csproj @@ -6,7 +6,7 @@ - + diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/CelestialBodiesMetaDataController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/CelestialBodiesMetaDataController.cs index 6f4f78059..a770f44d9 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/CelestialBodiesMetaDataController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/CelestialBodiesMetaDataController.cs @@ -235,7 +235,7 @@ public async Task SearchCelestialBodiesMetaData([FromQuery] strin { try { - var result = await _starAPI.CelestialBodiesMetaDataDNA.SearchAsync(AvatarId, searchTerm, true, showAllVersions, version); + var result = await _starAPI.CelestialBodiesMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) @@ -402,7 +402,7 @@ public async Task SearchCelestialBodiesMetaData([FromBody] Search { try { - var result = await _starAPI.CelestialBodiesMetaDataDNA.SearchAsync(AvatarId, request.SearchTerm, true); + var result = await _starAPI.CelestialBodiesMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/EggsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/EggsController.cs index 5550af371..f547f2df3 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/EggsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/EggsController.cs @@ -22,115 +22,127 @@ public EggsController() { } - /// - /// Get all eggs currently hidden in the OASIS - /// - /// Maximum number of eggs to return - /// Number of eggs to skip - /// List of available eggs - [Authorize] - [HttpGet("all")] - public async Task>> GetAllEggs([FromQuery] int limit = 50, [FromQuery] int offset = 0) - { - return await EggsManager.Instance.GetAllEggsAsync(limit, offset); - } + // TODO: Uncomment when EggsManager methods are fully implemented + // The following endpoints are commented out until EggsManager supports these operations: + // - GetAllEggsAsync + // - GetDiscoveredEggsAsync + // - DiscoverEggAsync + // - HatchEggAsync + // - GetCurrentEggQuestsAsync + // - CompleteEggQuestAsync + // - GetEggQuestLeaderboardAsync + // - GetEggCollectionStatsAsync + // - GetEggTypesAsync - /// - /// Get eggs discovered by the current avatar - /// - /// Maximum number of eggs to return - /// Number of eggs to skip - /// List of discovered eggs - [Authorize] - [HttpGet("discovered")] - public async Task>> GetDiscoveredEggs([FromQuery] int limit = 50, [FromQuery] int offset = 0) - { - return await EggsManager.Instance.GetDiscoveredEggsAsync(Avatar.Id, limit, offset); - } + // /// + // /// Get all eggs currently hidden in the OASIS + // /// + // /// Maximum number of eggs to return + // /// Number of eggs to skip + // /// List of available eggs + // [Authorize] + // [HttpGet("all")] + // public async Task>> GetAllEggs([FromQuery] int limit = 50, [FromQuery] int offset = 0) + // { + // return await EggsManager.Instance.GetAllEggsAsync(limit, offset); + // } - /// - /// Discover an egg through exploration - /// - /// Location where the egg was discovered - /// Method used to discover the egg - /// Discovered egg information - [Authorize] - [HttpPost("discover")] - public async Task> DiscoverEgg([FromBody] EggType type, string name, Guid locationId, string location, [FromQuery] EggDiscoveryMethod discoveryMethod = EggDiscoveryMethod.Exploration, [FromQuery] EggRarity eggRarity = EggRarity.Common) - { - return await EggsManager.Instance.DiscoverEggAsync(Avatar.Id, type, name, locationId, location, discoveryMethod, eggRarity); - } + // /// + // /// Get eggs discovered by the current avatar + // /// + // /// Maximum number of eggs to return + // /// Number of eggs to skip + // /// List of discovered eggs + // [Authorize] + // [HttpGet("discovered")] + // public async Task>> GetDiscoveredEggs([FromQuery] int limit = 50, [FromQuery] int offset = 0) + // { + // return await EggsManager.Instance.GetDiscoveredEggsAsync(Avatar.Id, limit, offset); + // } - /// - /// Hatch an egg to reveal its contents - /// - /// ID of the egg to hatch - /// Hatching result with rewards - [Authorize] - [HttpPost("hatch/{eggId}")] - public async Task> HatchEgg(Guid eggId) - { - return await EggsManager.Instance.HatchEggAsync(Avatar.Id, eggId); - } + // /// + // /// Discover an egg through exploration + // /// + // /// Location where the egg was discovered + // /// Method used to discover the egg + // /// Discovered egg information + // [Authorize] + // [HttpPost("discover")] + // public async Task> DiscoverEgg([FromBody] EggType type, string name, Guid locationId, string location, [FromQuery] EggDiscoveryMethod discoveryMethod = EggDiscoveryMethod.Exploration, [FromQuery] EggRarity eggRarity = EggRarity.Common) + // { + // return await EggsManager.Instance.DiscoverEggAsync(Avatar.Id, type, name, locationId, location, discoveryMethod, eggRarity); + // } - /// - /// Get current egg quests - /// - /// Maximum number of quests to return - /// Number of quests to skip - /// List of active egg quests - [Authorize] - [HttpGet("quests")] - public async Task>> GetCurrentEggQuests([FromQuery] int limit = 20, [FromQuery] int offset = 0) - { - return await EggsManager.Instance.GetCurrentEggQuestsAsync(Avatar.Id, limit, offset); - } + // /// + // /// Hatch an egg to reveal its contents + // /// + // /// ID of the egg to hatch + // /// Hatching result with rewards + // [Authorize] + // [HttpPost("hatch/{eggId}")] + // public async Task> HatchEgg(Guid eggId) + // { + // return await EggsManager.Instance.HatchEggAsync(Avatar.Id, eggId); + // } - /// - /// Complete an egg quest - /// - /// ID of the quest to complete - /// Optional completion notes - /// Quest completion result - [Authorize] - [HttpPost("quests/{questId}/complete")] - public async Task> CompleteEggQuest(Guid questId, [FromBody] string completionNotes = null) - { - return await EggsManager.Instance.CompleteEggQuestAsync(Avatar.Id, questId, completionNotes); - } + // /// + // /// Get current egg quests + // /// + // /// Maximum number of quests to return + // /// Number of quests to skip + // /// List of active egg quests + // [Authorize] + // [HttpGet("quests")] + // public async Task>> GetCurrentEggQuests([FromQuery] int limit = 20, [FromQuery] int offset = 0) + // { + // return await EggsManager.Instance.GetCurrentEggQuestsAsync(Avatar.Id, limit, offset); + // } - /// - /// Get egg quest leaderboard - /// - /// Maximum number of entries to return - /// Number of entries to skip - /// Egg quest leaderboard - [Authorize] - [HttpGet("quests/leaderboard")] - public async Task>> GetEggQuestLeaderboard([FromQuery] int limit = 50, [FromQuery] int offset = 0) - { - return await EggsManager.Instance.GetEggQuestLeaderboardAsync(limit, offset); - } + // /// + // /// Complete an egg quest + // /// + // /// ID of the quest to complete + // /// Optional completion notes + // /// Quest completion result + // [Authorize] + // [HttpPost("quests/{questId}/complete")] + // public async Task> CompleteEggQuest(Guid questId, [FromBody] string completionNotes = null) + // { + // return await EggsManager.Instance.CompleteEggQuestAsync(Avatar.Id, questId, completionNotes); + // } - /// - /// Get egg collection statistics for the current avatar - /// - /// Egg collection statistics - [Authorize] - [HttpGet("stats")] - public async Task>> GetEggCollectionStats() - { - return await EggsManager.Instance.GetEggCollectionStatsAsync(Avatar.Id); - } + // /// + // /// Get egg quest leaderboard + // /// + // /// Maximum number of entries to return + // /// Number of entries to skip + // /// Egg quest leaderboard + // [Authorize] + // [HttpGet("quests/leaderboard")] + // public async Task>> GetEggQuestLeaderboard([FromQuery] int limit = 50, [FromQuery] int offset = 0) + // { + // return await EggsManager.Instance.GetEggQuestLeaderboardAsync(limit, offset); + // } - /// - /// Get egg types and rarities - /// - /// Available egg types and their rarities - [HttpGet("types")] - public async Task>> GetEggTypes() - { - return await EggsManager.Instance.GetEggTypesAsync(); - } + // /// + // /// Get egg collection statistics for the current avatar + // /// + // /// Egg collection statistics + // [Authorize] + // [HttpGet("stats")] + // public async Task>> GetEggCollectionStats() + // { + // return await EggsManager.Instance.GetEggCollectionStatsAsync(Avatar.Id); + // } + + // /// + // /// Get egg types and rarities + // /// + // /// Available egg types and their rarities + // [HttpGet("types")] + // public async Task>> GetEggTypes() + // { + // return await EggsManager.Instance.GetEggTypesAsync(); + // } } } diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoNFTsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoNFTsController.cs index 6487ea55f..1082e9b7f 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoNFTsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/GeoNFTsController.cs @@ -684,7 +684,7 @@ public class CreateGeoNFTRequest { public string Name { get; set; } = ""; public string Description { get; set; } = ""; - public HolonType HolonSubType { get; set; } = HolonType.GeoNFT; + public HolonType HolonSubType { get; set; } = HolonType.Default; public string SourceFolderPath { get; set; } = ""; public ISTARNETCreateOptions CreateOptions { get; set; } = null; } diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/HolonsMetaDataController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/HolonsMetaDataController.cs index 30d6d7765..c0efcc9f5 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/HolonsMetaDataController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/HolonsMetaDataController.cs @@ -235,7 +235,7 @@ public async Task SearchHolonsMetaData([FromQuery] string searchT { try { - var result = await _starAPI.HolonsMetaDataDNA.SearchAsync(AvatarId, searchTerm, true, showAllVersions, version); + var result = await _starAPI.HolonsMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) @@ -402,7 +402,7 @@ public async Task SearchHolonsMetaData([FromBody] SearchRequest r { try { - var result = await _starAPI.HolonsMetaDataDNA.SearchAsync(AvatarId, request.SearchTerm, true); + var result = await _starAPI.HolonsMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/InventoryItemsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/InventoryItemsController.cs index 50dbac9b9..3d300f4f6 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/InventoryItemsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/InventoryItemsController.cs @@ -594,7 +594,7 @@ public async Task SearchInventoryItems([FromBody] SearchRequest r { try { - var result = await _starAPI.InventoryItems.SearchAsync(AvatarId, request.SearchTerm, true, false, 0); + var result = await _starAPI.InventoryItems.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: false, version: 0); return Ok(result); } catch (Exception ex) @@ -613,7 +613,7 @@ public class CreateInventoryItemRequest { public string Name { get; set; } = ""; public string Description { get; set; } = ""; - public HolonType HolonSubType { get; set; } = HolonType.InventoryItem; + public HolonType HolonSubType { get; set; } = HolonType.Default; public string SourceFolderPath { get; set; } = ""; public ISTARNETCreateOptions CreateOptions { get; set; } = null; } diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/NFTsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/NFTsController.cs index 7dd31613c..1197823e3 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/NFTsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/NFTsController.cs @@ -328,7 +328,7 @@ public async Task SearchNFTs([FromQuery] string searchTerm, [From { try { - var result = await _starAPI.NFTs.SearchAsync(AvatarId, searchTerm, searchOnlyForCurrentAvatar, showAllVersions, version); + var result = await _starAPI.NFTs.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: searchOnlyForCurrentAvatar, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) @@ -618,7 +618,7 @@ public class CreateNFTRequest { public string Name { get; set; } = ""; public string Description { get; set; } = ""; - public HolonType HolonSubType { get; set; } = HolonType.NFT; + public HolonType HolonSubType { get; set; } = HolonType.Default; public string SourceFolderPath { get; set; } = ""; public ISTARNETCreateOptions CreateOptions { get; set; } = null; } diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/OAPPsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/OAPPsController.cs index 9721581e6..7009c0968 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/OAPPsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/OAPPsController.cs @@ -230,7 +230,7 @@ public async Task SearchOAPPs([FromQuery] string searchTerm, [Fro { try { - var result = await _starAPI.OAPPs.SearchAsync(AvatarId, searchTerm, true, showAllVersions, version); + var result = await _starAPI.OAPPs.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) @@ -397,7 +397,7 @@ public async Task SearchOAPPs([FromBody] SearchRequest request) { try { - var result = await _starAPI.OAPPs.SearchAsync(AvatarId, request.SearchTerm, true, false, 0); + var result = await _starAPI.OAPPs.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: false, version: 0); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/QuestsController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/QuestsController.cs index cd7f92222..be1fed81f 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/QuestsController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/QuestsController.cs @@ -11,6 +11,7 @@ using NextGenSoftware.OASIS.API.Core.Enums; using NextGenSoftware.OASIS.API.ONODE.Core.Interfaces; using NextGenSoftware.OASIS.API.Core.Interfaces.STAR; +using NextGenSoftware.OASIS.API.ONODE.Core.Managers; namespace NextGenSoftware.OASIS.STAR.WebAPI.Controllers { @@ -277,7 +278,7 @@ public async Task GetQuestsByStatus(string status) if (result.IsError) return BadRequest(result); - var filteredQuests = result.Result?.Where(q => q.Status?.ToString() == status); + var filteredQuests = result.Result?.Where(q => q.Status.ToString() == status); return Ok(new OASISResult> { Result = filteredQuests, diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/RuntimesController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/RuntimesController.cs index 7af6ed14b..6953ba791 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/RuntimesController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/RuntimesController.cs @@ -466,7 +466,7 @@ public async Task SearchRuntimes([FromBody] SearchRequest request { try { - var result = await _starAPI.Runtimes.SearchAsync(AvatarId, request.SearchTerm, true, false, 0); + var result = await _starAPI.Runtimes.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: false, version: 0); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/TemplatesController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/TemplatesController.cs index b1248c9c7..d15cd475f 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/TemplatesController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/TemplatesController.cs @@ -406,7 +406,7 @@ public async Task SearchTemplates([FromBody] SearchRequest reques { try { - var result = await _starAPI.OAPPTemplates.SearchAsync(AvatarId, request.SearchTerm, true, false, 0); + var result = await _starAPI.OAPPTemplates.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: false, version: 0); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesController.cs index 168df52c0..1cca32637 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesController.cs @@ -345,7 +345,7 @@ public async Task SearchZomes([FromQuery] string searchTerm, [Fro { try { - var result = await _starAPI.Zomes.SearchAsync(AvatarId, searchTerm, searchOnlyForCurrentAvatar, showAllVersions, version); + var result = await _starAPI.Zomes.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: searchOnlyForCurrentAvatar, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesMetaDataController.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesMetaDataController.cs index c9759ef97..b43438db9 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesMetaDataController.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Controllers/ZomesMetaDataController.cs @@ -235,7 +235,7 @@ public async Task SearchZomesMetaData([FromQuery] string searchTe { try { - var result = await _starAPI.ZomesMetaDataDNA.SearchAsync(AvatarId, searchTerm, true, showAllVersions, version); + var result = await _starAPI.ZomesMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: searchTerm, searchOnlyForCurrentAvatar: true, showAllVersions: showAllVersions, version: version); return Ok(result); } catch (Exception ex) @@ -402,7 +402,7 @@ public async Task SearchZomesMetaData([FromBody] SearchRequest re { try { - var result = await _starAPI.ZomesMetaDataDNA.SearchAsync(AvatarId, request.SearchTerm, true); + var result = await _starAPI.ZomesMetaDataDNA.SearchAsync(avatarId: AvatarId, searchTerm: request.SearchTerm, searchOnlyForCurrentAvatar: true); return Ok(result); } catch (Exception ex) diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj index da6e953d7..338110efc 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj @@ -6,6 +6,7 @@ enable true $(NoWarn);1591 + false diff --git a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Program.cs b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Program.cs index 5d7c8ea87..a520b2c13 100644 --- a/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Program.cs +++ b/STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Program.cs @@ -152,7 +152,8 @@ TOGETHER WE CAN CREATE A BETTER WORLD... }; }); -app.UseHttpsRedirection(); +if (builder.Configuration.GetValue("UseHttpsRedirection")) + app.UseHttpsRedirection(); app.UseCors("AllowAll"); app.UseAuthorization(); app.MapControllers(); diff --git a/.gitattributes b/_CLEANUP_ARCHIVE/.gitattributes similarity index 100% rename from .gitattributes rename to _CLEANUP_ARCHIVE/.gitattributes diff --git a/.nojekyll b/_CLEANUP_ARCHIVE/.nojekyll similarity index 100% rename from .nojekyll rename to _CLEANUP_ARCHIVE/.nojekyll diff --git a/.railwayignore b/_CLEANUP_ARCHIVE/.railwayignore similarity index 100% rename from .railwayignore rename to _CLEANUP_ARCHIVE/.railwayignore diff --git a/Archived/External Libs/JsonRpc20.Client/GuardExtensions.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/GuardExtensions.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/GuardExtensions.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/GuardExtensions.cs diff --git a/Archived/External Libs/JsonRpc20.Client/HttpClientTransport.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/HttpClientTransport.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/HttpClientTransport.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/HttpClientTransport.cs diff --git a/Archived/External Libs/JsonRpc20.Client/IRpcClient.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcClient.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/IRpcClient.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcClient.cs diff --git a/Archived/External Libs/JsonRpc20.Client/IRpcSerializer.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcSerializer.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/IRpcSerializer.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcSerializer.cs diff --git a/Archived/External Libs/JsonRpc20.Client/IRpcTransport.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcTransport.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/IRpcTransport.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/IRpcTransport.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.csproj b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.csproj similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.csproj rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.csproj diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.sln b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.sln similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.sln rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpc20.Client.sln diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcErrorCodes.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcErrorCodes.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcErrorCodes.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcErrorCodes.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpClient.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpClient.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcHttpClient.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpClient.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpTransport.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpTransport.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcHttpTransport.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcHttpTransport.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcMediaTypes.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcMediaTypes.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcMediaTypes.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcMediaTypes.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcRequest.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcRequest.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcRequest.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcRequest.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcRequestIdGenerator.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcRequestIdGenerator.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcRequestIdGenerator.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcRequestIdGenerator.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcSerializer.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcSerializer.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcSerializer.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcSerializer.cs diff --git a/Archived/External Libs/JsonRpc20.Client/JsonRpcVersions.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcVersions.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/JsonRpcVersions.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/JsonRpcVersions.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcClient.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcClient.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcClient.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcClient.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcClientOptions.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcClientOptions.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcClientOptions.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcClientOptions.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcError.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcError.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcError.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcError.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcException.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcException.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcException.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcException.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcRequest.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcRequest.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcRequest.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcRequest.cs diff --git a/Archived/External Libs/JsonRpc20.Client/RpcResponse.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcResponse.cs similarity index 100% rename from Archived/External Libs/JsonRpc20.Client/RpcResponse.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/JsonRpc20.Client/RpcResponse.cs diff --git a/Archived/External Libs/WebSocket4Net/Action.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Action.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Action.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Action.cs diff --git a/Archived/External Libs/WebSocket4Net/ClosedEventArgs.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/ClosedEventArgs.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/ClosedEventArgs.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/ClosedEventArgs.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/BadRequest.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/BadRequest.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/BadRequest.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/BadRequest.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Binary.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Binary.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Binary.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Binary.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Close.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Close.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Close.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Close.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Handshake.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Handshake.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Handshake.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Handshake.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Ping.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Ping.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Ping.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Ping.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Pong.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Pong.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Pong.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Pong.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/Text.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Text.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/Text.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/Text.cs diff --git a/Archived/External Libs/WebSocket4Net/Command/WebSocketCommandBase.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/WebSocketCommandBase.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Command/WebSocketCommandBase.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Command/WebSocketCommandBase.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/ArraySegmentEx.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ArraySegmentEx.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/ArraySegmentEx.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ArraySegmentEx.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/ArraySegmentList.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ArraySegmentList.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/ArraySegmentList.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ArraySegmentList.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/BinaryCommandInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/BinaryCommandInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/BinaryCommandInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/BinaryCommandInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/CommandInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/CommandInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/CommandInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/CommandInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/DelegateCommand.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/DelegateCommand.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/DelegateCommand.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/DelegateCommand.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/IClientCommandReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/IClientCommandReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/IClientCommandReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/IClientCommandReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/ICommand.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ICommand.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/ICommand.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ICommand.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/ICommandInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ICommandInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/ICommandInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/ICommandInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/Common/StringCommandInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/StringCommandInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Common/StringCommandInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Common/StringCommandInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/DataReceivedEventArgs.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/DataReceivedEventArgs.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/DataReceivedEventArgs.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/DataReceivedEventArgs.cs diff --git a/Archived/External Libs/WebSocket4Net/ExtensionAttribute.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/ExtensionAttribute.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/ExtensionAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/ExtensionAttribute.cs diff --git a/Archived/External Libs/WebSocket4Net/Extensions.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Extensions.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Extensions.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Extensions.cs diff --git a/Archived/External Libs/WebSocket4Net/GlobalAssemblyInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/GlobalAssemblyInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/GlobalAssemblyInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/GlobalAssemblyInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/IJsonExecutor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/IJsonExecutor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/IJsonExecutor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/IJsonExecutor.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonExecutor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonExecutor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonExecutor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonExecutor.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonWebSocket.DataContractJson.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.DataContractJson.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonWebSocket.DataContractJson.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.DataContractJson.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNet.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNet.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNet.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNet.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNotSet.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNotSet.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNotSet.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.JsonNotSet.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonWebSocket.Net.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.Net.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonWebSocket.Net.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.Net.cs diff --git a/Archived/External Libs/WebSocket4Net/JsonWebSocket.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/JsonWebSocket.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/JsonWebSocket.cs diff --git a/Archived/External Libs/WebSocket4Net/MessageReceivedEventArgs.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/MessageReceivedEventArgs.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/MessageReceivedEventArgs.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/MessageReceivedEventArgs.cs diff --git a/Archived/External Libs/WebSocket4Net/OpCode.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/OpCode.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/OpCode.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/OpCode.cs diff --git a/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net20.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net20.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net20.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net20.cs diff --git a/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net35.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net35.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net35.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net35.cs diff --git a/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net40.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net40.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net40.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net40.cs diff --git a/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net45.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net45.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net45.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/AssemblyInfo.Net45.cs diff --git a/Archived/External Libs/WebSocket4Net/Properties/WebSocket4Net.UWP.rd.xml b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/WebSocket4Net.UWP.rd.xml similarity index 100% rename from Archived/External Libs/WebSocket4Net/Properties/WebSocket4Net.UWP.rd.xml rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Properties/WebSocket4Net.UWP.rd.xml diff --git a/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeHybi10.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeHybi10.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeHybi10.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeHybi10.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeRfc6455.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeRfc6455.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeRfc6455.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/CloseStatusCodeRfc6455.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00DataReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00DataReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00DataReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00DataReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00HandshakeReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00HandshakeReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00HandshakeReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00HandshakeReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00Processor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00Processor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00Processor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi00Processor.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10DataReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10DataReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10DataReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10DataReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10HandshakeReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10HandshakeReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10HandshakeReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10HandshakeReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10Processor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10Processor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10Processor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/DraftHybi10Processor.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/DataFramePartReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/DataFramePartReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/DataFramePartReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/DataFramePartReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/ExtendedLenghtReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/ExtendedLenghtReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/ExtendedLenghtReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/ExtendedLenghtReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/FixPartReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/FixPartReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/FixPartReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/FixPartReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/IDataFramePartReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/IDataFramePartReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/IDataFramePartReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/IDataFramePartReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/MaskKeyReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/MaskKeyReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/MaskKeyReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/MaskKeyReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/PayloadDataReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/PayloadDataReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/PayloadDataReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/FramePartReader/PayloadDataReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/HandshakeReader.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/HandshakeReader.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/HandshakeReader.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/HandshakeReader.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/ICloseStatusCode.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ICloseStatusCode.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/ICloseStatusCode.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ICloseStatusCode.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/IProtocolProcessor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/IProtocolProcessor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/IProtocolProcessor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/IProtocolProcessor.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorBase.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorBase.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorBase.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorBase.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorFactory.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorFactory.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorFactory.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ProtocolProcessorFactory.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/ReaderBase.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ReaderBase.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/ReaderBase.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/ReaderBase.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/Rfc6455Processor.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/Rfc6455Processor.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/Rfc6455Processor.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/Rfc6455Processor.cs diff --git a/Archived/External Libs/WebSocket4Net/Protocol/WebSocketDataFrame.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/WebSocketDataFrame.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/Protocol/WebSocketDataFrame.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/Protocol/WebSocketDataFrame.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket.Await.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Await.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket.Await.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Await.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket.Net.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Net.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket.Net.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Net.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket.Net35.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Net35.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket.Net35.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.Net35.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket.NoSilverlight.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.NoSilverlight.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket.NoSilverlight.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.NoSilverlight.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net20.csproj b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net20.csproj similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket4Net.Net20.csproj rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net20.csproj diff --git a/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net35.csproj b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net35.csproj similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket4Net.Net35.csproj rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net35.csproj diff --git a/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net40.csproj b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net40.csproj similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket4Net.Net40.csproj rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net40.csproj diff --git a/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net45.csproj b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net45.csproj similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocket4Net.Net45.csproj rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocket4Net.Net45.csproj diff --git a/Archived/External Libs/WebSocket4Net/WebSocketCommandInfo.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketCommandInfo.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocketCommandInfo.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketCommandInfo.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocketContext.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketContext.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocketContext.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketContext.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocketState.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketState.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocketState.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketState.cs diff --git a/Archived/External Libs/WebSocket4Net/WebSocketVersion.cs b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketVersion.cs similarity index 100% rename from Archived/External Libs/WebSocket4Net/WebSocketVersion.cs rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/WebSocketVersion.cs diff --git a/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net20.config b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net20.config similarity index 100% rename from Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net20.config rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net20.config diff --git a/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net35.config b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net35.config similarity index 100% rename from Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net35.config rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net35.config diff --git a/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net40.config b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net40.config similarity index 100% rename from Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net40.config rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net40.config diff --git a/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net45.config b/_CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net45.config similarity index 100% rename from Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net45.config rename to _CLEANUP_ARCHIVE/Archived/External Libs/WebSocket4Net/packages.WebSocket4Net.Net45.config diff --git a/Archived/HOLONET/Lib/SuperSocket.ClientEngine.dll b/_CLEANUP_ARCHIVE/Archived/HOLONET/Lib/SuperSocket.ClientEngine.dll similarity index 100% rename from Archived/HOLONET/Lib/SuperSocket.ClientEngine.dll rename to _CLEANUP_ARCHIVE/Archived/HOLONET/Lib/SuperSocket.ClientEngine.dll diff --git a/Archived/HOLONET/Lib/WebSocket4Net.dll b/_CLEANUP_ARCHIVE/Archived/HOLONET/Lib/WebSocket4Net.dll similarity index 100% rename from Archived/HOLONET/Lib/WebSocket4Net.dll rename to _CLEANUP_ARCHIVE/Archived/HOLONET/Lib/WebSocket4Net.dll diff --git a/Archived/HOLONET/NextGenSoftware.HoloNET.cs b/_CLEANUP_ARCHIVE/Archived/HOLONET/NextGenSoftware.HoloNET.cs similarity index 100% rename from Archived/HOLONET/NextGenSoftware.HoloNET.cs rename to _CLEANUP_ARCHIVE/Archived/HOLONET/NextGenSoftware.HoloNET.cs diff --git a/Archived/HOLONET/NextGenSoftware.HoloNET.csproj b/_CLEANUP_ARCHIVE/Archived/HOLONET/NextGenSoftware.HoloNET.csproj similarity index 100% rename from Archived/HOLONET/NextGenSoftware.HoloNET.csproj rename to _CLEANUP_ARCHIVE/Archived/HOLONET/NextGenSoftware.HoloNET.csproj diff --git a/Archived/HOLONET/Node/HCWebClient.ts b/_CLEANUP_ARCHIVE/Archived/HOLONET/Node/HCWebClient.ts similarity index 100% rename from Archived/HOLONET/Node/HCWebClient.ts rename to _CLEANUP_ARCHIVE/Archived/HOLONET/Node/HCWebClient.ts diff --git a/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/NextGenSoftware.EntityFrameworkCore.OASISAPI.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/NextGenSoftware.EntityFrameworkCore.OASISAPI.csproj similarity index 100% rename from Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/NextGenSoftware.EntityFrameworkCore.OASISAPI.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/NextGenSoftware.EntityFrameworkCore.OASISAPI.csproj diff --git a/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/OASISAPIDatabaseProviderServices.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/OASISAPIDatabaseProviderServices.cs similarity index 100% rename from Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/OASISAPIDatabaseProviderServices.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.EntityFrameworkCore.OASISAPI/OASISAPIDatabaseProviderServices.cs diff --git a/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET.cs similarity index 100% rename from Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET.cs diff --git a/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET2.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET2.csproj similarity index 100% rename from Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET2.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.HoloNET2/NextGenSoftware.HoloNET2.csproj diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/.gitignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/.gitignore diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETData.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETData.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETData.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETData.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETRequest.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETRequest.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETRequest.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETRequest.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETResponse.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETResponse.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETResponse.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/HoloNETResponse.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeFunctionCall.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeFunctionCall.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeFunctionCall.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeFunctionCall.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParam.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParam.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParam.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParam.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParamStruct.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParamStruct.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParamStruct.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeParamStruct.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeReturnObject.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeReturnObject.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeReturnObject.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Data/ZomeReturnObject.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/.gitignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/.gitignore diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/index.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/index.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/index.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/api/index.md diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/intro.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/intro.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/intro.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/intro.md diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/toc.yml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/toc.yml similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/toc.yml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/articles/toc.yml diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/docfx.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/docfx.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/docfx.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/docfx.json diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/index.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/index.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/index.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/index.md diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/log.txt b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/log.txt similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/log.txt rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/log.txt diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/toc.yml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/toc.yml similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/toc.yml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Docs/toc.yml diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/ErrorHandlingBehaviourEnum.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/ErrorHandlingBehaviourEnum.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/ErrorHandlingBehaviourEnum.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/ErrorHandlingBehaviourEnum.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HoloNETClientTypeEnum.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HoloNETClientTypeEnum.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HoloNETClientTypeEnum.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HoloNETClientTypeEnum.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HolochainVersionEnum.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HolochainVersionEnum.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HolochainVersionEnum.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/Enums/HolochainVersionEnum.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/EventArgs.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/EventArgs.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/EventArgs.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/EventArgs.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETClientBase.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETClientBase.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETClientBase.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETClientBase.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETConfig.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETConfig.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETConfig.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETConfig.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETException.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETException.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETException.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/HoloNETException.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.csproj diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.sln b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.sln similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.sln rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Core/NextGenSoftware.Holochain.HoloNET.Client.Core.sln diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/HoloNETClient.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/HoloNETClient.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/HoloNETClient.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/HoloNETClient.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NLogger.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NLogger.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NLogger.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NLogger.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NextGenSoftware.Holochain.HoloNET.Client.Desktop.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NextGenSoftware.Holochain.HoloNET.Client.Desktop.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NextGenSoftware.Holochain.HoloNET.Client.Desktop.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Desktop/NextGenSoftware.Holochain.HoloNET.Client.Desktop.csproj diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/NonSerializedAttribute.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/NonSerializedAttribute.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/NonSerializedAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/NonSerializedAttribute.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializedAttribute.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializedAttribute.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializedAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializedAttribute.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializingAttribute.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializingAttribute.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializingAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnDeserializingAttribute.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializedAttribute.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializedAttribute.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializedAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializedAttribute.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializingAttribute.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializingAttribute.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializingAttribute.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Attributes/OnSerializingAttribute.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Exceptions/FormatException.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Exceptions/FormatException.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Exceptions/FormatException.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Exceptions/FormatException.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Format.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Format.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Format.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Format.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatReader.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatReader.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatReader.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatReader.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatWriter.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatWriter.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatWriter.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/FormatWriter.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/JsonConverter.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/JsonConverter.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/JsonConverter.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/JsonConverter.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MapDefinition.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MapDefinition.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MapDefinition.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MapDefinition.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MessagePackFormatter.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MessagePackFormatter.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MessagePackFormatter.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/MessagePackFormatter.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/NextGenSoftware.Holochain.HoloNET.Client.MessagePack.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/NextGenSoftware.Holochain.HoloNET.Client.MessagePack.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/NextGenSoftware.Holochain.HoloNET.Client.MessagePack.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/NextGenSoftware.Holochain.HoloNET.Client.MessagePack.csproj diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/ArrayOptions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/ArrayOptions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/ArrayOptions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/ArrayOptions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimeOptions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimeOptions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimeOptions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimeOptions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimePackingFormat.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimePackingFormat.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimePackingFormat.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/DateTimePackingFormat.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumOptions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumOptions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumOptions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumOptions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumPackingFormat.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumPackingFormat.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumPackingFormat.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/EnumPackingFormat.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/IMapNamingStrategy.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/IMapNamingStrategy.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/IMapNamingStrategy.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/IMapNamingStrategy.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/JsonOptions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/JsonOptions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/JsonOptions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/JsonOptions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/MapOptions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/MapOptions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/MapOptions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/MapOptions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/CamelCaseNamingStrategy.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/CamelCaseNamingStrategy.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/CamelCaseNamingStrategy.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/CamelCaseNamingStrategy.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/DefaultNamingStrategy.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/DefaultNamingStrategy.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/DefaultNamingStrategy.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/DefaultNamingStrategy.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/SnakeCaseNamingStrategy.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/SnakeCaseNamingStrategy.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/SnakeCaseNamingStrategy.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Options/NamingStrategy/SnakeCaseNamingStrategy.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/SerializationContext.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/SerializationContext.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/SerializationContext.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/SerializationContext.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/ArrayHelper.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/ArrayHelper.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/ArrayHelper.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/ArrayHelper.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/CustomExtensions.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/CustomExtensions.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/CustomExtensions.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/CustomExtensions.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float32Bits.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float32Bits.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float32Bits.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float32Bits.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float64Bits.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float64Bits.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float64Bits.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Float64Bits.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Lazy.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Lazy.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Lazy.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/Support/Lazy.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/BoolHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/BoolHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/BoolHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/BoolHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteArrayHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteArrayHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteArrayHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteArrayHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ByteHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/CharHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/CharHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/CharHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/CharHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Color32Handler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Color32Handler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Color32Handler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Color32Handler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ColorHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ColorHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ColorHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ColorHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DateTimeHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DateTimeHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DateTimeHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DateTimeHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DecimalHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DecimalHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DecimalHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DecimalHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DoubleHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DoubleHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DoubleHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DoubleHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicArrayHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicArrayHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicArrayHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicArrayHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicDictionaryHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicDictionaryHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicDictionaryHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicDictionaryHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicEnumHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicEnumHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicEnumHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicEnumHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicListHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicListHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicListHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicListHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicMapHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicMapHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicMapHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicMapHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicNullableHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicNullableHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicNullableHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/DynamicNullableHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/FloatHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/FloatHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/FloatHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/FloatHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/GuidHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/GuidHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/GuidHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/GuidHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IExtTypeHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IExtTypeHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IExtTypeHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IExtTypeHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ITypeHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ITypeHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ITypeHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ITypeHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IntHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IntHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IntHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/IntHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/LongHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/LongHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/LongHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/LongHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ObjectHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ObjectHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ObjectHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ObjectHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/QuaternionHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/QuaternionHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/QuaternionHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/QuaternionHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/SByteHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/SByteHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/SByteHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/SByteHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ShortHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ShortHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ShortHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ShortHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/StringHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/StringHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/StringHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/StringHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/TimeSpanHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/TimeSpanHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/TimeSpanHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/TimeSpanHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UIntHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UIntHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UIntHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UIntHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ULongHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ULongHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ULongHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/ULongHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UShortHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UShortHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UShortHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UShortHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UriHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UriHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UriHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/UriHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2Handler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2Handler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2Handler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2Handler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2IntHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2IntHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2IntHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector2IntHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3Handler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3Handler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3Handler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3Handler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3IntHandler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3IntHandler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3IntHandler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector3IntHandler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector4Handler.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector4Handler.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector4Handler.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.MessagePack/TypeHandlers/Vector4Handler.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/NextGenSoftware.Holochain.HoloNET.Client.TestHarness.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/NextGenSoftware.Holochain.HoloNET.Client.TestHarness.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/NextGenSoftware.Holochain.HoloNET.Client.TestHarness.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/NextGenSoftware.Holochain.HoloNET.Client.TestHarness.csproj diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/Program.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/Program.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/Program.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/Program.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/log.txt b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/log.txt similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/log.txt rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.TestHarness/log.txt diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/DumbyLogger.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/DumbyLogger.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/DumbyLogger.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/DumbyLogger.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/HoloNETClient.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/HoloNETClient.cs similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/HoloNETClient.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/HoloNETClient.cs diff --git a/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/NextGenSoftware.Holochain.HoloNET.Client.Unity.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/NextGenSoftware.Holochain.HoloNET.Client.Unity.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/NextGenSoftware.Holochain.HoloNET.Client.Unity.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.HoloNET.Client.Unity/NextGenSoftware.Holochain.HoloNET.Client.Unity.csproj diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/LICENSE b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/LICENSE similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/LICENSE rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/LICENSE diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/README.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/README.md diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/hc.exe b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/hc.exe similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/hc.exe rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/hc.exe diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.gitignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.gitignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.hcignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.hcignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.hcignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/.hcignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/app.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/app.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/app.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/app.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/package-lock.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/package-lock.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/index.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/index.js similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/index.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/index.js diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package-lock.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package-lock.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/test/package.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/.hcbuild b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/.hcbuild similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/.hcbuild rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/.hcbuild diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.lock b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.lock similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.lock rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.lock diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.toml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.toml similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.toml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/Cargo.toml diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/src/lib.rs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/src/lib.rs similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/src/lib.rs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/code/src/lib.rs diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/zome.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/zome.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/zome.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld.External.Partial/our_world/zomes/our_world_core/zome.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Build Our World.bat b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Build Our World.bat similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/Build Our World.bat rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Build Our World.bat diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/LICENSE b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/LICENSE similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/LICENSE rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/LICENSE diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/NextGenSoftware.Holochain.hApp.OurWorld.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/NextGenSoftware.Holochain.hApp.OurWorld.csproj similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/NextGenSoftware.Holochain.hApp.OurWorld.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/NextGenSoftware.Holochain.hApp.OurWorld.csproj diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/README.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/README.md diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Start HC Conductor.bat b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Start HC Conductor.bat similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/Start HC Conductor.bat rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/Start HC Conductor.bat diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/LICENSE b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/LICENSE similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/LICENSE rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/LICENSE diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/README.md similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/README.md diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/holochain.exe b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/holochain.exe similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/holochain.exe rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/conductor-v0.0.20-alpha3-x86_64-pc-windows-msvc/holochain.exe diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.gitignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.gitignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.hcignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.hcignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.hcignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/.hcignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/Vagrantfile b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/Vagrantfile similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/Vagrantfile rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/Vagrantfile diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/app.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/app.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/app.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/app.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/conductor-config.toml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/conductor-config.toml similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/conductor-config.toml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/conductor-config.toml diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/default.nix b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/default.nix similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/default.nix rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/default.nix diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.gitignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.gitignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.hcignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.hcignore similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.hcignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/.hcignore diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/app.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/app.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/app.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/app.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/package-lock.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/package-lock.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/index.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/index.js similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/index.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/index.js diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package-lock.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package-lock.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/test/package.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/.hcbuild b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/.hcbuild similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/.hcbuild rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/.hcbuild diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.lock b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.lock similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.lock rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.lock diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.toml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.toml similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.toml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo.toml diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo20.toml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo20.toml similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo20.toml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/Cargo20.toml diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/src/lib.rs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/src/lib.rs similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/src/lib.rs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/code/src/lib.rs diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/zome.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/zome.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/zome.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/hc-altha-0.0.12 altha/zomes/our_world_core/zome.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/index.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/index.js similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/index.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/index.js diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package-lock.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package-lock.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/test/package.json diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/.hcbuild b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/.hcbuild similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/.hcbuild rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/.hcbuild diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.lock b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.lock similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.lock rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.lock diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.toml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.toml similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.toml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/Cargo.toml diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/src/lib.rs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/src/lib.rs similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/src/lib.rs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/code/src/lib.rs diff --git a/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/zome.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/zome.json similarity index 100% rename from Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/zome.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Holochain.hApp.OurWorld/our_world/zomes/our_world_core/zome.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/.config/dotnet-tools.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/.config/dotnet-tools.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/.config/dotnet-tools.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/.config/dotnet-tools.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/App_Start/WebApiConfig.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/App_Start/WebApiConfig.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/App_Start/WebApiConfig.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/App_Start/WebApiConfig.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/3rdpartylicenses.txt b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/3rdpartylicenses.txt similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/3rdpartylicenses.txt rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/3rdpartylicenses.txt diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_base.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_base.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_base.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_base.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_custom-style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_custom-style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_custom-style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/_custom-style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_accessibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_accessibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_accessibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_accessibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_breakpoints.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_breakpoints.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_breakpoints.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_breakpoints.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_grid-layout.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_grid-layout.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_grid-layout.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_grid-layout.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_mixins.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_mixins.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_mixins.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_mixins.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_reset.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_reset.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_reset.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_reset.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_visibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_visibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_visibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_visibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_z-index.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_z-index.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_z-index.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/base/_z-index.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_header.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_header.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_header.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_header.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_modal-window.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_modal-window.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_modal-window.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_modal-window.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_password.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_password.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_password.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_password.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_radios-checkboxes.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_radios-checkboxes.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_radios-checkboxes.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_radios-checkboxes.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_search.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_search.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_search.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_search.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_side-nav.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_side-nav.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_side-nav.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/components/_1_side-nav.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/custom-style/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/css/style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_base.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_base.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_base.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_base.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_custom-style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_custom-style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_custom-style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/_custom-style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_accessibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_accessibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_accessibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_accessibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_breakpoints.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_breakpoints.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_breakpoints.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_breakpoints.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_grid-layout.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_grid-layout.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_grid-layout.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_grid-layout.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_mixins.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_mixins.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_mixins.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_mixins.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_reset.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_reset.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_reset.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_reset.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_visibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_visibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_visibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_visibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_z-index.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_z-index.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_z-index.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/base/_z-index.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_header.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_header.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_header.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_header.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_modal-window.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_modal-window.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_modal-window.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_modal-window.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_password.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_password.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_password.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_password.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_radios-checkboxes.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_radios-checkboxes.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_radios-checkboxes.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_radios-checkboxes.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_search.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_search.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_search.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_search.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_side-nav.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_side-nav.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_side-nav.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/components/_1_side-nav.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/custom-style/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/globalStyles/style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow2.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow2.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow2.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/arrow2.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/avatar.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/avatar.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/avatar.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/avatar.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/bg.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/dummy-logo.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/dummy-logo.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/dummy-logo.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/dummy-logo.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/hidden-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/hidden-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/hidden-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/hidden-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-close.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-close.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-close.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-close.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-email.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-email.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-email.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-email.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-password.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-password.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-password.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-password.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-username.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-username.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-username.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/icon-username.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/search.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/search.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/search.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/search.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/visible-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/visible-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/visible-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/assets/img/visible-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/bg.a1157bd97625aa935fdf.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/bg.a1157bd97625aa935fdf.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/bg.a1157bd97625aa935fdf.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/bg.a1157bd97625aa935fdf.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/favicon.ico b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/favicon.ico similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/favicon.ico rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/favicon.ico diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/main.577233d7778898f2ea81.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/main.577233d7778898f2ea81.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/main.577233d7778898f2ea81.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/main.577233d7778898f2ea81.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/polyfills.79d11f8d12baaf81430b.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/polyfills.79d11f8d12baaf81430b.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/polyfills.79d11f8d12baaf81430b.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/polyfills.79d11f8d12baaf81430b.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/runtime.770f7be743f9014be1da.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/runtime.770f7be743f9014be1da.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/runtime.770f7be743f9014be1da.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/runtime.770f7be743f9014be1da.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/styles.da33355a090647dede5d.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/styles.da33355a090647dede5d.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/styles.da33355a090647dede5d.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/dist/oasis-web/styles.da33355a090647dede5d.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/ClientApp/oasis-pure-js/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Controllers/ValuesController.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Controllers/ValuesController.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Controllers/ValuesController.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Controllers/ValuesController.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Dockerfile b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Dockerfile similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Dockerfile rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Dockerfile diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/PULL_REQUEST_TEMPLATE.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/PULL_REQUEST_TEMPLATE.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/PULL_REQUEST_TEMPLATE.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide_install.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide_install.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide_install.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/react_style_guide_install.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/smart_commits.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/smart_commits.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/smart_commits.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Docs/smart_commits.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Global.asax b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Global.asax similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Global.asax rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Global.asax diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/NextGenSoftware.OASIS.API.ONODE.OPORTAL.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/NextGenSoftware.OASIS.API.ONODE.OPORTAL.csproj similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/NextGenSoftware.OASIS.API.ONODE.OPORTAL.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/NextGenSoftware.OASIS.API.ONODE.OPORTAL.csproj diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Error.cshtml.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Index.cshtml.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Privacy.cshtml.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_Layout.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_Layout.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_Layout.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_Layout.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_ValidationScriptsPartial.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_ValidationScriptsPartial.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_ValidationScriptsPartial.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/Shared/_ValidationScriptsPartial.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewImports.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewImports.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewImports.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewImports.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewStart.cshtml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewStart.cshtml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewStart.cshtml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Pages/_ViewStart.cshtml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Program.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Program.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Program.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Program.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/PublishProfiles/FolderProfile.pubxml b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/PublishProfiles/FolderProfile.pubxml similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/PublishProfiles/FolderProfile.pubxml rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/PublishProfiles/FolderProfile.pubxml diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/launchSettings.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/launchSettings.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/launchSettings.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Properties/launchSettings.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/README.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/README.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Startup.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Startup.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Startup.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Startup.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/api/ValuesController.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/api/ValuesController.cs similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/api/ValuesController.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/api/ValuesController.cs diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.Development.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.Development.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.Development.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.Development.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/appsettings.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/npm.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/npm.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/npm.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/npm.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package-lock.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package-lock.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package-lock.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package-lock.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/package.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/web.config b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/web.config similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/web.config rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/web.config diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/css/style.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/css/style.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/css/style.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/css/style.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/bg.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/bg.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/bg.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/bg.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/dummy-logo.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/dummy-logo.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/dummy-logo.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/dummy-logo.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loading.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loading.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loading.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loading.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedin.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedin.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedin.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedin.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedout.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedout.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedout.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/img/loggedout.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/jquery.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/jquery.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/jquery.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/jquery.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/modernizr.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/modernizr.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/modernizr.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/modernizr.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/scripts.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/scripts.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/scripts.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/scripts.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/util.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/util.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/util.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/assets/js/util.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/favicon.ico b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/favicon.ico similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/favicon.ico rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/favicon.ico diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/js/site.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/js/site.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/js/site.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/js/site.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS API v4.0.0.postman_collection.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS API v4.0.0.postman_collection.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS API v4.0.0.postman_collection.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS API v4.0.0.postman_collection.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API.postman_collection.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API.postman_collection.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API.postman_collection.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API.postman_collection.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_DEV.postman_environment.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_DEV.postman_environment.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_DEV.postman_environment.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_DEV.postman_environment.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_LIVE.postman_environment.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_LIVE.postman_environment.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_LIVE.postman_environment.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_LIVE.postman_environment.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_STAGING.postman_environment.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_STAGING.postman_environment.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_STAGING.postman_environment.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/postman/OASIS_API_STAGING.postman_environment.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/.gitignore b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/.gitignore similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/.gitignore rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/.gitignore diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/LICENSE.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/LICENSE.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/LICENSE.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/LICENSE.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/README.md similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/README.md diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/css/style.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/css/style.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/css/style.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/css/style.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow2.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow2.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow2.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/arrow2.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/avatar.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/avatar.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/avatar.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/avatar.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/bg.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/dummy-logo.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/dummy-logo.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/dummy-logo.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/dummy-logo.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/hidden-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/hidden-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/hidden-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/hidden-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-close.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-close.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-close.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-close.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-email.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-email.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-email.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-email.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-password.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-password.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-password.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-password.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-username.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-username.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-username.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/icon-username.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/search.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/search.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/search.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/search.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/visible-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/visible-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/visible-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/img/visible-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/jquery.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/jquery.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/jquery.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/jquery.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/modernizr.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/modernizr.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/modernizr.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/modernizr.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/scripts.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/scripts.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/scripts.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/scripts.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/util.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/util.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/util.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/assets/js/util.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/dist/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/gulpfile.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/gulpfile.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/gulpfile.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/gulpfile.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/jquery.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/jquery.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/jquery.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/jquery.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_base.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_base.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_base.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_base.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_custom-style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_custom-style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_custom-style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/_custom-style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_accessibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_accessibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_accessibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_accessibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_breakpoints.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_breakpoints.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_breakpoints.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_breakpoints.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_grid-layout.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_grid-layout.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_grid-layout.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_grid-layout.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_mixins.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_mixins.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_mixins.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_mixins.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_reset.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_reset.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_reset.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_reset.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_visibility.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_visibility.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_visibility.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_visibility.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_z-index.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_z-index.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_z-index.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/base/_z-index.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_header.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_header.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_header.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_header.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_modal-window.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_modal-window.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_modal-window.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_modal-window.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_password.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_password.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_password.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_password.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_radios-checkboxes.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_radios-checkboxes.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_radios-checkboxes.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_radios-checkboxes.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_search.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_search.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_search.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_search.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_side-nav.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_side-nav.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_side-nav.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/components/_1_side-nav.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_buttons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_buttons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_buttons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_buttons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_colors.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_colors.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_colors.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_colors.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_forms.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_forms.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_forms.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_forms.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_icons.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_icons.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_icons.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_icons.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_shared-styles.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_shared-styles.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_shared-styles.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_shared-styles.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_spacing.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_spacing.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_spacing.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_spacing.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_typography.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_typography.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_typography.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_typography.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_util.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_util.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_util.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/custom-style/_util.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.scss b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.scss similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.scss rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/css/style.scss diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow2.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow2.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow2.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/arrow2.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/avatar.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/avatar.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/avatar.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/avatar.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/bg.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/dummy-logo.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/dummy-logo.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/dummy-logo.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/dummy-logo.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/hidden-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/hidden-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/hidden-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/hidden-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-close.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-close.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-close.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-close.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-email.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-email.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-email.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-email.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-password.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-password.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-password.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-password.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-username.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-username.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-username.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/icon-username.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loading.gif b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loading.gif similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loading.gif rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loading.gif diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedin.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedin.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedin.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedin.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedout.png b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedout.png similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedout.png rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/loggedout.png diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/search.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/search.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/search.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/search.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/visible-icon.svg b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/visible-icon.svg similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/visible-icon.svg rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/img/visible-icon.svg diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_modal.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_modal.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_modal.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_modal.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_password.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_password.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_password.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_1_password.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_2_menu.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_2_menu.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_2_menu.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/_2_menu.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/login.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/login.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/login.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/login.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/signup.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/signup.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/signup.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/components/signup.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/jquery.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/jquery.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/jquery.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/jquery.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/modernizr.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/modernizr.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/modernizr.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/modernizr.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.min.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.min.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.min.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/scripts.min.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/util.js b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/util.js similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/util.js rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/assets/js/util.js diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/main/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/package.json b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/package.json similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/package.json rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/package.json diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/index.html b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/index.html similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/index.html rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/index.html diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/styles.css b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/styles.css similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/styles.css rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/source/settings/styles.css diff --git a/ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/web.config b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/web.config similarity index 100% rename from ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/web.config rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.OASIS.API.ONODE.OPORTAL/wwwroot/web.config diff --git a/Archived/NextGenSoftware.Utilities/DataHelper.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/DataHelper.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/DataHelper.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/DataHelper.cs diff --git a/Archived/NextGenSoftware.Utilities/EnumHelper.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumHelper.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/EnumHelper.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumHelper.cs diff --git a/Archived/NextGenSoftware.Utilities/EnumHelperListType.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumHelperListType.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/EnumHelperListType.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumHelperListType.cs diff --git a/Archived/NextGenSoftware.Utilities/EnumValue.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumValue.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/EnumValue.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/EnumValue.cs diff --git a/Archived/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs diff --git a/Archived/NextGenSoftware.Utilities/ExtentionMethods.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ExtentionMethods.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/ExtentionMethods.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ExtentionMethods.cs diff --git a/Archived/NextGenSoftware.Utilities/ListHelper.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ListHelper.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/ListHelper.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/ListHelper.cs diff --git a/Archived/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj similarity index 100% rename from Archived/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj diff --git a/Archived/NextGenSoftware.Utilities/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/README.md similarity index 100% rename from Archived/NextGenSoftware.Utilities/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/README.md diff --git a/Archived/NextGenSoftware.Utilities/STARJPG.JPG b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/STARJPG.JPG similarity index 100% rename from Archived/NextGenSoftware.Utilities/STARJPG.JPG rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/STARJPG.JPG diff --git a/Archived/NextGenSoftware.Utilities/URIHelper.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/URIHelper.cs similarity index 100% rename from Archived/NextGenSoftware.Utilities/URIHelper.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.Utilities/URIHelper.cs diff --git a/Archived/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs diff --git a/Archived/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs diff --git a/Archived/NextGenSoftware.WebSocket/EventArgs.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/EventArgs.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/EventArgs.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/EventArgs.cs diff --git a/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs diff --git a/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs diff --git a/Archived/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj similarity index 100% rename from Archived/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj diff --git a/Archived/NextGenSoftware.WebSocket/README.md b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/README.md similarity index 100% rename from Archived/NextGenSoftware.WebSocket/README.md rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/README.md diff --git a/Archived/NextGenSoftware.WebSocket/STARJPG.JPG b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/STARJPG.JPG similarity index 100% rename from Archived/NextGenSoftware.WebSocket/STARJPG.JPG rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/STARJPG.JPG diff --git a/Archived/NextGenSoftware.WebSocket/UnityWebSocket.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/UnityWebSocket.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/UnityWebSocket.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/UnityWebSocket.cs diff --git a/Archived/NextGenSoftware.WebSocket/WebSocket.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocket.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/WebSocket.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocket.cs diff --git a/Archived/NextGenSoftware.WebSocket/WebSocketConfig.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocketConfig.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/WebSocketConfig.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocketConfig.cs diff --git a/Archived/NextGenSoftware.WebSocket/WebSocketException.cs b/_CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocketException.cs similarity index 100% rename from Archived/NextGenSoftware.WebSocket/WebSocketException.cs rename to _CLEANUP_ARCHIVE/Archived/NextGenSoftware.WebSocket/WebSocketException.cs diff --git a/Archived/src/types/recharts.d.ts b/_CLEANUP_ARCHIVE/Archived/src/types/recharts.d.ts similarity index 100% rename from Archived/src/types/recharts.d.ts rename to _CLEANUP_ARCHIVE/Archived/src/types/recharts.d.ts diff --git a/DOCKER_DEPLOYMENT_GUIDE.md b/_CLEANUP_ARCHIVE/DOCKER_DEPLOYMENT_GUIDE.md similarity index 100% rename from DOCKER_DEPLOYMENT_GUIDE.md rename to _CLEANUP_ARCHIVE/DOCKER_DEPLOYMENT_GUIDE.md diff --git a/Dockerfile.clean b/_CLEANUP_ARCHIVE/Dockerfile.clean similarity index 100% rename from Dockerfile.clean rename to _CLEANUP_ARCHIVE/Dockerfile.clean diff --git a/Dockerfile.star-api.new b/_CLEANUP_ARCHIVE/Dockerfile.star-api.new similarity index 100% rename from Dockerfile.star-api.new rename to _CLEANUP_ARCHIVE/Dockerfile.star-api.new diff --git a/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.Core.TestHarness/OASIS_DNA.json b/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.Core.TestHarness/OASIS_DNA.json new file mode 100644 index 000000000..63a610a59 --- /dev/null +++ b/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.Core.TestHarness/OASIS_DNA.json @@ -0,0 +1 @@ +{"OASIS":{"Terms":"Please be kind and respectful to everyone including animals and nature and work hard to co-create a better world for all! Enjoy your stay! :)","Logging":{"LoggingFramework":"Default","AlsoUseDefaultLogProvider":false,"FileLoggingMode":0,"ConsoleLoggingMode":1,"LogToConsole":true,"ShowColouredLogs":true,"DebugColour":15,"InfoColour":10,"WarningColour":14,"ErrorColour":12,"LogToFile":false,"LogPath":"C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS","LogFileName":"C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS","MaxLogFileSize":1000000,"NumberOfRetriesToLogToFile":3,"RetryLoggingToFileEverySeconds":1,"InsertExtraNewLineAfterLogMessage":false,"IndentLogMessagesBy":1},"ErrorHandling":{"ShowStackTrace":false,"ThrowExceptionsOnErrors":false,"ThrowExceptionsOnWarnings":false,"LogAllErrors":true,"LogAllWarnings":true,"ErrorHandlingBehaviour":1,"WarningHandlingBehaviour":1},"Security":{"HideVerificationToken":true,"HideRefreshTokens":true,"SecretKey":"21AC8EB5-93BD-47F7-9566-0C21CD38B29C-E3FEFAA9-174F-4527-8808-B4C307CA0D70","RemoveOldRefreshTokensAfterXDays":0,"AvatarPassword":{"BCryptEncryptionEnabled":true,"Rijndael256EncryptionEnabled":true,"Rijndael256Key":"","QuantumEncryptionEnabled":true},"OASISProviderPrivateKeys":{"BCryptEncryptionEnabled":true,"Rijndael256EncryptionEnabled":true,"Rijndael256Key":"","QuantumEncryptionEnabled":true}},"Email":{"EmailFrom":"oasisweb4@gmail.com","SmtpHost":"smtp.gmail.com","SmtpPort":587,"SmtpUser":"oasisweb4@gmail.com","SmtpPass":"wera jvdk xoom sose","DisableAllEmails":false,"SendVerificationEmail":true,"OASISWebSiteURL":"https://localhost:5002/#"},"StorageProviders":{"ProviderMethodCallTimeOutSeconds":99,"ActivateProviderTimeOutSeconds":10,"DectivateProviderTimeOutSeconds":10,"AutoReplicationEnabled":false,"AutoFailOverEnabled":true,"AutoLoadBalanceEnabled":true,"AutoLoadBalanceReadPollIntervalMins":10,"AutoLoadBalanceWritePollIntervalMins":10,"AutoReplicationProviders":"MongoDBOASIS","AutoLoadBalanceProviders":"MongoDBOASIS","AutoFailOverProviders":"MongoDBOASIS, ArbitrumOASIS, EthereumOASIS","AutoFailOverProvidersForAvatarLogin":"MongoDBOASIS","AutoFailOverProvidersForCheckIfEmailAlreadyInUse":"MongoDBOASIS","AutoFailOverProvidersForCheckIfUsernameAlreadyInUse":"MongoDBOASIS","AutoFailOverProvidersForCheckIfOASISSystemAccountExists":"MongoDBOASIS","OASISProviderBootType":"Warm","AzureCosmosDBOASIS":{"ServiceEndpoint":"","AuthKey":"","DBName":"","CollectionNames":"avatars, avatarDetails,holons"},"HoloOASIS":{"UseLocalNode":true,"UseHoloNetwork":true,"HoloNetworkURI":"https://holo.host/","LocalNodeURI":"ws://localhost:8888","HoloNETORMUseReflection":false},"MongoDBOASIS":{"DBName":"OASISAPI_DEV","ConnectionString":"mongodb+srv://OASISWEB4:Uppermall1%21@oasisweb4.ifxnugb.mongodb.net/?retryWrites=true&w=majority&appName=OASISWeb4"},"EOSIOOASIS":{"AccountName":"oasis","AccountPrivateKey":"","ChainId":"","ConnectionString":"http://localhost:8888"},"TelosOASIS":{"ConnectionString":"https://node.hypha.earth"},"SEEDSOASIS":{"ConnectionString":"https://node.hypha.earth"},"ThreeFoldOASIS":{"ConnectionString":""},"EthereumOASIS":{"ChainPrivateKey":"0x88b002883021f592f2225fc91615c32c284c099192dced42c5ff325067c1d42f","ChainId":11155111,"ContractAddress":"0x0000000000000000000000000000000000000000","ConnectionString":"https://sepolia.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"},"ArbitrumOASIS":{"ChainPrivateKey":"0xe46187b143e59eeba140e23ad7659ad1a2678f0b1d9dff17bc76a085d5db9a1d","ChainId":421614,"ContractAddress":"0x3c684Fc57e78D19d0eF0d560689F5EBD700d5A54","ConnectionString":"https://sepolia-rollup.arbitrum.io/rpc"},"RootstockOASIS":{"ChainPrivateKey":"0x88b002883021f592f2225fc91615c32c284c099192dced42c5ff325067c1d42f","ContractAddress":"0x0000000000000000000000000000000000000000","Abi":null,"ConnectionString":"https://public-node.testnet.rsk.co"},"PolygonOASIS":{"ChainPrivateKey":"0x88b002883021f592f2225fc91615c32c284c099192dced42c5ff325067c1d42f","ContractAddress":"0x0000000000000000000000000000000000000000","Abi":null,"ConnectionString":"https://rpc-amoy.polygon.technology/"},"SQLLiteDBOASIS":{"ConnectionString":"Data Source=OASISSQLLiteDB.db"},"IPFSOASIS":{"LookUpIPFSAddress":"QmV7AwEXdAG8r7CTjXRYpDk55aaSbWuNR9kpyycLkjLFE9","ConnectionString":"http://localhost:5001"},"Neo4jOASIS":{"Username":"neo4j","Password":"","ConnectionString":"bolt://localhost:7687"},"SolanaOASIS":{"WalletMnemonicWords":"tail pilot large expose mimic beef abandon luxury rigid convince tool laptop","PrivateKey":"3p4mTDUt2zwsg8p828LbFL9SmmTKMhHjqRJt9o6daYw14gwEPap6WPF3KXezyQJRPF1TcRaaSZ8XEctUQWX4QmaT","PublicKey":"HT2sbYb6qjYKNjSdSWkwCp6bfYtrW9LMaGsnevLRRVnB","ConnectionString":"https://api.devnet.solana.com"},"CargoOASIS":{"SingingMessage":"","PrivateKey":"3p4mTDUt2zwsg8p828LbFL9SmmTKMhHjqRJt9o6daYw14gwEPap6WPF3KXezyQJRPF1TcRaaSZ8XEctUQWX4QmaT","HostUrl":"","ConnectionString":""},"LocalFileOASIS":{"FilePath":"wallets.json"},"PinataOASIS":{"ConnectionString":"https://api.pinata.cloud"}},"OASISSystemAccountId":"f3fbf32a-1864-4adf-b0e4-c9a9658deb68","OASISAPIURL":"https://oasisweb4.one"}} \ No newline at end of file diff --git a/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.WebAPI/OASIS_DNA.json b/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.WebAPI/OASIS_DNA.json new file mode 100644 index 000000000..a27fbc7db --- /dev/null +++ b/_CLEANUP_ARCHIVE/NextGenSoftware.OASIS.API.ONODE.WebAPI/OASIS_DNA.json @@ -0,0 +1,156 @@ +{ + "OASIS": { + "Terms": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\n\n", + "Logging": { + "LoggingFramework": "Default", + "AlsoUseDefaultLogProvider": false, + "FileLoggingMode": 0, + "ConsoleLoggingMode": 1, + "LogToConsole": true, + "ShowColouredLogs": true, + "DebugColour": 15, + "InfoColour": 10, + "WarningColour": 14, + "ErrorColour": 12, + "LogToFile": false, + "LogPath": "C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS", + "LogFileName": "C:\\Users\\USER\\AppData\\Roaming\\NextGenSoftware\\OASIS", + "MaxLogFileSize": 1000000, + "NumberOfRetriesToLogToFile": 3, + "RetryLoggingToFileEverySeconds": 1, + "InsertExtraNewLineAfterLogMessage": false, + "IndentLogMessagesBy": 1 + }, + "ErrorHandling": { + "ShowStackTrace": false, + "ThrowExceptionsOnErrors": false, + "ThrowExceptionsOnWarnings": false, + "LogAllErrors": true, + "LogAllWarnings": true, + "ErrorHandlingBehaviour": 1, + "WarningHandlingBehaviour": 1 + }, + "Security": { + "HideVerificationToken": true, + "HideRefreshTokens": true, + "SecretKey": "J9U1G9P9TDbrlzHEbJJeWGP0h4ArOtSs605FE694-FA48-41AF-9A22-CB90F0FF5D6A6JnD6vHofJDcHqBiyufIz3dsbcy1A0KH", + "RemoveOldRefreshTokensAfterXDays": 0, + "AvatarPassword": { + "BCryptEncryptionEnabled": true, + "Rijndael256EncryptionEnabled": true, + "Rijndael256Key": "Wp@<)6];$#w(fMJumXM{!zv[z]XvX/~L@PCwYJwNke~:9uSDnx[Sz$ZN,qF=,v?=rq`GQZ$9Mj3RUs]c84]9%xsysaHzWKjJ2aQK7d:P&tQmMC5h%*_g:]6@J~A<'q6AA,!R?2n{`HC?EhNA#-He?SA!mSuWL88z6ZT]')M8kNH3Pyxs)t]?]K6QWmWXyav(sn-$_sL)?wXV*=Y7=.ez>NC7~8VVn6_%8=Ua-,UK^4dGLKBBLY)JwSt}tPq//j!_W`Pkm>.8(/(5KPC#{:>`n:@BPP#rT@smQWJ:D'BK`{S-37Es7P*JJJP4wqS7V2C/xeR5s/{dNSQ@Eg3'g{~H.3<2}-72W^d]gwm%.GZEc)#sexa$aFaf-#/HZMw^)d!?C;yREU-S}RFu", + "QuantumEncryptionEnabled": true + }, + "OASISProviderPrivateKeys": { + "BCryptEncryptionEnabled": true, + "Rijndael256EncryptionEnabled": true, + "Rijndael256Key": "uT!).phJVv5;(^wyn#'uQD}z*sZYMa$MjA!$n*d>qHt`E5xe2cUSu[+bgG#87Q/B-^Ys?ah6NW.k=K'C_A/xB_k4Hy[d3WU#X]{YfV@!F+n^mj'D&SL?;wa$Nq%7P`psT~bA{_?-m7;`YU[ypb#,>kQqfhZSd.*a]$gc!WzVX9Cuj4~B<%}rLH(B8GE?[6VK!upW)9ek3a-C],.~Q_MrdcskD[j+}BL7KpJe?MFPSy{8xwhg-]_VR$)u(sX'U5v`~NbdC;=ft", + "QuantumEncryptionEnabled": true + } + }, + "Email": { + "EmailFrom": "anorak@theoasisplatform.world", + "SmtpHost": "mailuk2.promailserver.com", + "SmtpPort": 25, + "SmtpUser": "anorak@oasisweb4.one", + "SmtpPass": "`ipmq0jrcebwoa3fugyvdkhnlsz+xt", + "DisableAllEmails": true, + "SendVerificationEmail": true, + "OASISWebSiteURL": "https://oasisweb4.one/#" + }, + "StorageProviders": { + "ProviderMethodCallTimeOutSeconds": 99, + "ActivateProviderTimeOutSeconds": 10, + "DectivateProviderTimeOutSeconds": 10, + "AutoReplicationEnabled": false, + "AutoFailOverEnabled": true, + "AutoLoadBalanceEnabled": true, + "AutoLoadBalanceReadPollIntervalMins": 10, + "AutoLoadBalanceWritePollIntervalMins": 10, + "AutoReplicationProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoLoadBalanceProviders": "MongoDBOASIS, ArbitrumOASIS, PolygonOASIS, RootstockOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoFailOverProviders": "MongoDBOASIS, ArbitrumOASIS, LocalFileOASIS, SQLLiteDBOASIS, Neo4jOASIS, IPFSOASIS, HoloOASIS, SolanaOASIS, TelosOASIS, EOSIOOASIS, EthereumOASIS, ThreeFoldOASIS", + "AutoFailOverProvidersForAvatarLogin": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfEmailAlreadyInUse": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfUsernameAlreadyInUse": "MongoDBOASIS", + "AutoFailOverProvidersForCheckIfOASISSystemAccountExists": "MongoDBOASIS", + "OASISProviderBootType": "Warm", + "AzureCosmosDBOASIS": { + "ServiceEndpoint": "", + "AuthKey": "", + "DBName": "", + "CollectionNames": "avatars, avatarDetails, holons" + }, + "HoloOASIS": { + "UseLocalNode": true, + "UseHoloNetwork": true, + "HoloNetworkURI": "https://holo.host/", + "LocalNodeURI": "ws://localhost:8888", + "HoloNETORMUseReflection": false + }, + "MongoDBOASIS": { + "DBName": "OASISAPI_DEV", + "ConnectionString": "mongodb://localhost:27017" + }, + "EOSIOOASIS": { + "AccountName": "oasis", + "AccountPrivateKey": "5KUm4te3kPbR6Fmrmr5WwCw3pfkymVxdh44x1b9QFYhm66uwYsP", + "ChainId": "8a34ec7df1b8cd06ff4a8abbaa7cc50300823350cadc59ab296cb00d104d2b8f", + "ConnectionString": "http://localhost:8888" + }, + "TelosOASIS": { "ConnectionString": "https://node.hypha.earth" }, + "SEEDSOASIS": { "ConnectionString": "https://node.hypha.earth" }, + "ThreeFoldOASIS": { "ConnectionString": "" }, + "EthereumOASIS": { + "ChainPrivateKey": "0x7580e7fb49df1c861f0050fae31c2224c6aba908e116b8da44ee8cd927b990b0", + "ChainId": 444444444500, + "ContractAddress": "0x06a2dabf7fec27d27f9283cb2de1cd328685510c", + "ConnectionString": "http://testchain.nethereum.com:8545" + }, + "ArbitrumOASIS": { + "ChainPrivateKey": "d3c80ec102d5fe42beadcb7346f74df529a0a10a1906f6ecc5fe3770eb65fb1a", + "ChainId": 421614, + "ContractAddress": "0x299440d24Cd0e8Ca6425ae92cE66032E58B8c436", + "ConnectionString": "https://sepolia-rollup.arbitrum.io/rpc" + }, + "RootstockOASIS": { + "ChainPrivateKey": "d3c80ec102d5fe42beadcb7346f74df529a0a10a1906f6ecc5fe3770eb65fb1a", + "ContractAddress": "0xd6e25f0a709ac99886c96267B23c3d2335550031", + "Abi": null, + "ConnectionString": "https://public-node.testnet.rsk.co" + }, + "PolygonOASIS": { + "ChainPrivateKey": "d3c80ec102d5fe42beadcb7346f74df529a0a10a1906f6ecc5fe3770eb65fb1a", + "ContractAddress": "0xd6e25f0a709ac99886c96267B23c3d2335550031", + "Abi": null, + "ConnectionString": "https://rpc-amoy.polygon.technology/" + }, + "SQLLiteDBOASIS": { "ConnectionString": "Data Source=OASISSQLLiteDB.db" }, + "IPFSOASIS": { + "LookUpIPFSAddress": "QmV7AwEXdAG8r7CTjXRYpDk55aaSbWuNR9kpyycLkjLFE9", + "ConnectionString": "http://localhost:5001" + }, + "Neo4jOASIS": { + "Username": "neo4j", + "Password": "letthereb@light!", + "ConnectionString": "bolt://localhost:7687" + }, + "SolanaOASIS": { + "WalletMnemonicWords": "bullet nothing diamond universe detail east dinner code plunge charge poem ball cable clog spray purpose renew above clay brand control shallow turtle similar", + "PrivateKey": "5VCRWersYAwwhzGoFB7ye82AXrjnY2Jn9v4FTr1wC2eGSfhSPRygBW6FLCAnQzXxZZBgDeb1roQ2uV74772eRV8R", + "PublicKey": "8pBKg1JCoa2cFAB9Bu5nLStaHzRADJujLVyjKEfDgbKT", + "ConnectionString": "https://api.devnet.solana.com" + }, + "CargoOASIS": { + "SingingMessage": "", + "PrivateKey": "", + "HostUrl": "", + "ConnectionString": "" + }, + "LocalFileOASIS": { "FilePath": "wallets.json" }, + "PinataOASIS": { "ConnectionString": "" } + }, + "OASISSystemAccountId": "25e3a572-11ea-41db-a662-f1f975a4d601", + "OASISAPIURL": "https://oasisweb4.one/api" + } +} \ No newline at end of file diff --git a/RAILWAY_DEPLOYMENT_GUIDE.md b/_CLEANUP_ARCHIVE/RAILWAY_DEPLOYMENT_GUIDE.md similarity index 100% rename from RAILWAY_DEPLOYMENT_GUIDE.md rename to _CLEANUP_ARCHIVE/RAILWAY_DEPLOYMENT_GUIDE.md diff --git a/README-OLD.md b/_CLEANUP_ARCHIVE/README-OLD.md similarity index 100% rename from README-OLD.md rename to _CLEANUP_ARCHIVE/README-OLD.md diff --git a/README.md b/_CLEANUP_ARCHIVE/README.md similarity index 100% rename from README.md rename to _CLEANUP_ARCHIVE/README.md diff --git a/STAR WEB UI/Pages/Competition/EggCollectionPage.tsx b/_CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/EggCollectionPage.tsx similarity index 100% rename from STAR WEB UI/Pages/Competition/EggCollectionPage.tsx rename to _CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/EggCollectionPage.tsx diff --git a/STAR WEB UI/Pages/Competition/LeaderboardPage.tsx b/_CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/LeaderboardPage.tsx similarity index 100% rename from STAR WEB UI/Pages/Competition/LeaderboardPage.tsx rename to _CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/LeaderboardPage.tsx diff --git a/STAR WEB UI/Pages/Competition/TournamentDashboard.tsx b/_CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/TournamentDashboard.tsx similarity index 100% rename from STAR WEB UI/Pages/Competition/TournamentDashboard.tsx rename to _CLEANUP_ARCHIVE/STAR WEB UI/Pages/Competition/TournamentDashboard.tsx diff --git a/Start Apollo.bat b/_CLEANUP_ARCHIVE/Start Apollo.bat similarity index 100% rename from Start Apollo.bat rename to _CLEANUP_ARCHIVE/Start Apollo.bat diff --git a/The OASIS - NoTests.sln b/_CLEANUP_ARCHIVE/The OASIS - NoTests.sln similarity index 100% rename from The OASIS - NoTests.sln rename to _CLEANUP_ARCHIVE/The OASIS - NoTests.sln diff --git a/The OASIS Core Only.sln b/_CLEANUP_ARCHIVE/The OASIS Core Only.sln similarity index 100% rename from The OASIS Core Only.sln rename to _CLEANUP_ARCHIVE/The OASIS Core Only.sln diff --git a/The OASIS Minimal.sln b/_CLEANUP_ARCHIVE/The OASIS Minimal.sln similarity index 100% rename from The OASIS Minimal.sln rename to _CLEANUP_ARCHIVE/The OASIS Minimal.sln diff --git a/_CLEANUP_ARCHIVE/deploy-to-railway.sh b/_CLEANUP_ARCHIVE/deploy-to-railway.sh new file mode 100644 index 000000000..953a79cd8 --- /dev/null +++ b/_CLEANUP_ARCHIVE/deploy-to-railway.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +# 🚂 OASIS Railway Deployment Script +# This script helps you prepare and deploy your OASIS ecosystem to Railway + +echo "🚀 OASIS Railway Deployment Setup" +echo "==================================" + +# Check if we're in the right directory +if [ ! -f "README.md" ]; then + echo "❌ Please run this script from the OASIS root directory" + exit 1 +fi + +echo "✅ Found OASIS project directory" + +# Check if Railway CLI is installed +if ! command -v railway &> /dev/null; then + echo "📦 Installing Railway CLI..." + npm install -g @railway/cli +else + echo "✅ Railway CLI already installed" +fi + +# Login to Railway +echo "🔐 Please login to Railway:" +railway login + +# Create new project +echo "🏗️ Creating new Railway project..." +railway init + +echo "" +echo "🎉 Setup complete! Next steps:" +echo "" +echo "1. 📁 Deploy OASIS API Web API:" +echo " railway add --service oasis-api" +echo " railway connect oasis-api" +echo " cd ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI" +echo " railway up" +echo "" +echo "2. 🌐 Deploy STAR WEB UI:" +echo " railway add --service star-web-ui" +echo " railway connect star-web-ui" +echo " cd oasisweb4.com" +echo " railway up" +echo "" +echo "3. 🏢 Deploy OASIS OPORTAL (optional):" +echo " railway add --service oasis-oportal" +echo " railway connect oasis-oportal" +echo " cd ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL" +echo " railway up" +echo "" +echo "📖 For detailed instructions, see: RAILWAY_DEPLOYMENT_GUIDE.md" +echo "" +echo "🚀 Happy deploying!" diff --git a/lumina-j5-bootstrap.zip b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap.zip similarity index 100% rename from lumina-j5-bootstrap.zip rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap.zip diff --git a/lumina-j5-bootstrap/README.md b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/README.md similarity index 100% rename from lumina-j5-bootstrap/README.md rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/README.md diff --git a/lumina-j5-bootstrap/bootcode/Dockerfile b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/Dockerfile similarity index 100% rename from lumina-j5-bootstrap/bootcode/Dockerfile rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/Dockerfile diff --git a/lumina-j5-bootstrap/bootcode/api.go b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/api.go similarity index 100% rename from lumina-j5-bootstrap/bootcode/api.go rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/api.go diff --git a/lumina-j5-bootstrap/bootcode/go.mod b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/go.mod similarity index 100% rename from lumina-j5-bootstrap/bootcode/go.mod rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/go.mod diff --git a/lumina-j5-bootstrap/bootcode/handlers.go b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/handlers.go similarity index 100% rename from lumina-j5-bootstrap/bootcode/handlers.go rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/handlers.go diff --git a/lumina-j5-bootstrap/bootcode/main.go b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/main.go similarity index 100% rename from lumina-j5-bootstrap/bootcode/main.go rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/bootcode/main.go diff --git a/lumina-j5-bootstrap/docker-compose.yml b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/docker-compose.yml similarity index 100% rename from lumina-j5-bootstrap/docker-compose.yml rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/docker-compose.yml diff --git a/lumina-j5-bootstrap/scripts/deploy.sh b/_CLEANUP_ARCHIVE/lumina-j5-bootstrap/scripts/deploy.sh similarity index 100% rename from lumina-j5-bootstrap/scripts/deploy.sh rename to _CLEANUP_ARCHIVE/lumina-j5-bootstrap/scripts/deploy.sh diff --git a/package-lock.json b/_CLEANUP_ARCHIVE/package-lock.json similarity index 100% rename from package-lock.json rename to _CLEANUP_ARCHIVE/package-lock.json diff --git a/package.json b/_CLEANUP_ARCHIVE/package.json similarity index 100% rename from package.json rename to _CLEANUP_ARCHIVE/package.json diff --git a/railway-deploy/star-api/Dockerfile b/_CLEANUP_ARCHIVE/railway-deploy/star-api/Dockerfile similarity index 100% rename from railway-deploy/star-api/Dockerfile rename to _CLEANUP_ARCHIVE/railway-deploy/star-api/Dockerfile diff --git a/railway.json b/_CLEANUP_ARCHIVE/railway.json similarity index 100% rename from railway.json rename to _CLEANUP_ARCHIVE/railway.json diff --git a/railway.star-api.toml b/_CLEANUP_ARCHIVE/railway.star-api.toml similarity index 100% rename from railway.star-api.toml rename to _CLEANUP_ARCHIVE/railway.star-api.toml diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 1ce7cd54c..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,123 +0,0 @@ -version: '3.8' - -services: - # OASIS API Web API - oasis-api: - build: - context: . - dockerfile: ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/Dockerfile - ports: - - "5000:8080" - environment: - - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://+:8080 - networks: - - oasis-network - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # STAR API Web API - star-api: - build: - context: . - dockerfile: "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/Dockerfile" - ports: - - "5001:8080" - environment: - - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://+:8080 - networks: - - oasis-network - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # OASIS OPORTAL (.NET + React) - oasis-oportal: - build: - context: . - dockerfile: ONODE/NextGenSoftware.OASIS.API.ONODE.OPORTAL/Dockerfile - ports: - - "5002:8080" - environment: - - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://+:8080 - networks: - - oasis-network - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # STAR WEB UI (.NET 8 + React) - star-web-ui: - build: - context: . - dockerfile: "STAR ODK/NextGenSoftware.OASIS.STAR.WebUI/Dockerfile" - ports: - - "5003:8080" - environment: - - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://+:8080 - networks: - - oasis-network - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # OASIS WEB UI (React + Nginx) - oasis-web-ui: - build: - context: . - dockerfile: oasisweb4.com/Dockerfile - ports: - - "3000:80" - networks: - - oasis-network - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost/health"] - interval: 30s - timeout: 10s - retries: 3 - start_period: 40s - - # PostgreSQL Database (Optional) - postgres: - image: postgres:15-alpine - environment: - POSTGRES_DB: oasis - POSTGRES_USER: oasis - POSTGRES_PASSWORD: oasis123 - ports: - - "5432:5432" - volumes: - - postgres_data:/var/lib/postgresql/data - networks: - - oasis-network - - # Redis Cache (Optional) - redis: - image: redis:7-alpine - ports: - - "6379:6379" - networks: - - oasis-network - -networks: - oasis-network: - driver: bridge - -volumes: - postgres_data: diff --git a/docker/base/Dockerfile b/docker/base/Dockerfile new file mode 100644 index 000000000..d7a785bc0 --- /dev/null +++ b/docker/base/Dockerfile @@ -0,0 +1,13 @@ +# Base Build Image - Copies Source & Dependencies +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS base-env +WORKDIR /src + +# Copy the entire monorepo source once +COPY . . + +# Run a basic list to verify (optional, helpful for debug) +RUN ls -la + +# We do NOT run restore/build here, we let the specific services do that +# to allow for parallel building of different services if needed, +# although they share this base layer. diff --git a/docker/infrastructure/docker-compose.yml b/docker/infrastructure/docker-compose.yml new file mode 100644 index 000000000..8adfda15d --- /dev/null +++ b/docker/infrastructure/docker-compose.yml @@ -0,0 +1,66 @@ +version: '3.8' + +services: + # MongoDB Database + mongodb: + image: mongo:7 + ports: + - "27017:27017" # Exposed to host for tools/debugging + environment: + - MONGO_INITDB_ROOT_USERNAME=oasis + - MONGO_INITDB_ROOT_PASSWORD=oasis123 + - MONGO_INITDB_DATABASE=OASISAPI_DEV + volumes: + - mongodb_data:/data/db + networks: + - oasis-network + deploy: + resources: + limits: + memory: 1G + + # Mongo Express (Web UI) + mongo-express: + image: mongo-express + restart: always + ports: + - "8081:8081" + environment: + ME_CONFIG_MONGODB_ADMINUSERNAME: oasis + ME_CONFIG_MONGODB_ADMINPASSWORD: oasis123 + ME_CONFIG_MONGODB_URL: mongodb://oasis:oasis123@mongodb:27017/ + ME_CONFIG_BASICAUTH: false + networks: + - oasis-network + depends_on: + - mongodb + + # PostgreSQL + postgres: + image: postgres:15-alpine + environment: + POSTGRES_DB: oasis + POSTGRES_USER: oasis + POSTGRES_PASSWORD: oasis123 + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - oasis-network + + # Redis + redis: + image: redis:7-alpine + ports: + - "6379:6379" + networks: + - oasis-network + +networks: + oasis-network: + external: true # Expects network to exist (script must create it) + +volumes: + postgres_data: + mongodb_data: diff --git a/docker/oasis-api/Dockerfile b/docker/oasis-api/Dockerfile new file mode 100644 index 000000000..440419c1d --- /dev/null +++ b/docker/oasis-api/Dockerfile @@ -0,0 +1,25 @@ +# Build Stage - Depends on the Base Image +FROM oasis-monorepo-base:latest AS build +WORKDIR /src + +# Restore and Build OASIS API +RUN dotnet restore "ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" +RUN dotnet publish "ONODE/NextGenSoftware.OASIS.API.ONODE.WebAPI/NextGenSoftware.OASIS.API.ONODE.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false + +# Runtime Stage +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final +WORKDIR /app +EXPOSE 8080 + +# Copy compiled app from build stage +COPY --from=build /app/publish . + +# Copy Configuration from Build Stage (it was in the base image source) +COPY --from=build ["/src/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json", "./"] + +# Copy entrypoint script +COPY docker/oasis-api/entrypoint.sh ./entrypoint.sh +RUN chmod +x ./entrypoint.sh + +# Set Entrypoint +ENTRYPOINT ["./entrypoint.sh", "dotnet", "NextGenSoftware.OASIS.API.ONODE.WebAPI.dll"] diff --git a/docker/oasis-api/docker-compose.yml b/docker/oasis-api/docker-compose.yml new file mode 100644 index 000000000..acc2dfc07 --- /dev/null +++ b/docker/oasis-api/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + oasis-api: + image: oasis-api:latest + ports: + - "5002:8080" + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://+:8080 + - UseHttpsRedirection=false + - OASIS_DNA__Storage__MongoDBOASIS__ConnectionString=mongodb://oasis:oasis123@mongodb:27017/OASISAPI_DEV + - OASIS_DNA__OASIS__Security__SecretKey=98765432-ABCD-EF01-2345-678901234567-SECRET-KEY + networks: + - oasis-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + +networks: + oasis-network: + external: true diff --git a/docker/oasis-api/entrypoint.sh b/docker/oasis-api/entrypoint.sh new file mode 100644 index 000000000..60ec95745 --- /dev/null +++ b/docker/oasis-api/entrypoint.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +# Path to the config file +DNA_FILE="OASIS_DNA.json" + +# Check if the environment variable is set +if [ ! -z "$OASIS_DNA__OASIS__Security__SecretKey" ]; then + echo "Injecting SecretKey from environment variable..." + # Escape special characters in the key if necessary (basic escaping) + # Use sed to replace the SecretKey value. + # This assumes "SecretKey": "VALUE" format with double quotes. + sed -i 's/"SecretKey": ".*"/"SecretKey": "'"$OASIS_DNA__OASIS__Security__SecretKey"'"/' "$DNA_FILE" + + # Verify (optional, be careful not to log the actual secret in production logs) + if grep -q "$OASIS_DNA__OASIS__Security__SecretKey" "$DNA_FILE"; then + echo "SecretKey injected successfully." + else + echo "WARNING: Failed to inject SecretKey." + fi +else + echo "No OASIS_DNA__OASIS__Security__SecretKey environment variable found. Using default/existing config." +fi + +# Execute the main command +exec "$@" diff --git a/docker/star-api/Dockerfile b/docker/star-api/Dockerfile new file mode 100644 index 000000000..56f183140 --- /dev/null +++ b/docker/star-api/Dockerfile @@ -0,0 +1,21 @@ +# Build Stage - Depends on the Base Image +FROM oasis-monorepo-base:latest AS build +WORKDIR /src + +# Restore and Build STAR API +RUN dotnet restore "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj" +RUN dotnet publish "STAR ODK/NextGenSoftware.OASIS.STAR.WebAPI/NextGenSoftware.OASIS.STAR.WebAPI.csproj" -c Release -o /app/publish /p:UseAppHost=false + +# Runtime Stage +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final +WORKDIR /app +EXPOSE 8080 + +# Copy compiled app from build stage +COPY --from=build /app/publish . + +# Copy Configuration from Build Stage (it was in the base image source) +COPY --from=build ["/src/OASIS Architecture/NextGenSoftware.OASIS.API.DNA/OASIS_DNA.json", "./"] + +# Set Entrypoint +ENTRYPOINT ["dotnet", "NextGenSoftware.OASIS.STAR.WebAPI.dll"] diff --git a/docker/star-api/docker-compose.yml b/docker/star-api/docker-compose.yml new file mode 100644 index 000000000..8c3253d28 --- /dev/null +++ b/docker/star-api/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3.8' + +services: + star-api: + image: star-api:latest + ports: + - "5003:8080" + environment: + - ASPNETCORE_ENVIRONMENT=Development + - ASPNETCORE_URLS=http://+:8080 + - UseHttpsRedirection=false + - OASIS_DNA__Storage__MongoDBOASIS__ConnectionString=mongodb://oasis:oasis123@mongodb:27017/OASISAPI_DEV + networks: + - oasis-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + +networks: + oasis-network: + external: true diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/LICENSE b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/LICENSE deleted file mode 100644 index 0e259d42c..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/LICENSE +++ /dev/null @@ -1,121 +0,0 @@ -Creative Commons Legal Code - -CC0 1.0 Universal - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware Libraries.sln b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware Libraries.sln deleted file mode 100644 index df8016301..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware Libraries.sln +++ /dev/null @@ -1,55 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.32112.339 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NextGenSoftware.Logging.NLog", "NextGenSoftware.Logging.NLog\NextGenSoftware.Logging.NLog.csproj", "{2E6D8AAA-A083-40EA-BBF7-8C53DF400EC0}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NextGenSoftware.CLI.Engine", "NextGenSoftware.CLI.Engine\NextGenSoftware.CLI.Engine.csproj", "{1B7C4413-11DA-424C-BD65-78F64312377E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NextGenSoftware.Logging", "NextGenSoftware.Logging\NextGenSoftware.Logging.csproj", "{EE715B40-0060-4F31-9E93-B689225E60F4}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NextGenSoftware.Utilities", "NextGenSoftware.Utilities\NextGenSoftware.Utilities.csproj", "{6BBB9A63-4FCA-4376-A533-7BDB6C38A877}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NextGenSoftware.WebSocket", "NextGenSoftware.WebSocket\NextGenSoftware.WebSocket.csproj", "{6A295B60-0694-4E65-BE0A-A8B2EE701A62}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NextGenSoftware.ErrorHandling", "NextGenSoftware.ErrorHandling\NextGenSoftware.ErrorHandling.csproj", "{916F7B7C-3738-46DC-84A3-0237848CD6BA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2E6D8AAA-A083-40EA-BBF7-8C53DF400EC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2E6D8AAA-A083-40EA-BBF7-8C53DF400EC0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2E6D8AAA-A083-40EA-BBF7-8C53DF400EC0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2E6D8AAA-A083-40EA-BBF7-8C53DF400EC0}.Release|Any CPU.Build.0 = Release|Any CPU - {1B7C4413-11DA-424C-BD65-78F64312377E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1B7C4413-11DA-424C-BD65-78F64312377E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1B7C4413-11DA-424C-BD65-78F64312377E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1B7C4413-11DA-424C-BD65-78F64312377E}.Release|Any CPU.Build.0 = Release|Any CPU - {EE715B40-0060-4F31-9E93-B689225E60F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EE715B40-0060-4F31-9E93-B689225E60F4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EE715B40-0060-4F31-9E93-B689225E60F4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EE715B40-0060-4F31-9E93-B689225E60F4}.Release|Any CPU.Build.0 = Release|Any CPU - {6BBB9A63-4FCA-4376-A533-7BDB6C38A877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6BBB9A63-4FCA-4376-A533-7BDB6C38A877}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6BBB9A63-4FCA-4376-A533-7BDB6C38A877}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6BBB9A63-4FCA-4376-A533-7BDB6C38A877}.Release|Any CPU.Build.0 = Release|Any CPU - {6A295B60-0694-4E65-BE0A-A8B2EE701A62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6A295B60-0694-4E65-BE0A-A8B2EE701A62}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6A295B60-0694-4E65-BE0A-A8B2EE701A62}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6A295B60-0694-4E65-BE0A-A8B2EE701A62}.Release|Any CPU.Build.0 = Release|Any CPU - {916F7B7C-3738-46DC-84A3-0237848CD6BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {916F7B7C-3738-46DC-84A3-0237848CD6BA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {916F7B7C-3738-46DC-84A3-0237848CD6BA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {916F7B7C-3738-46DC-84A3-0237848CD6BA}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {18C71000-75CA-4205-A75D-E48639569C27} - EndGlobalSection -EndGlobal diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Animations.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Animations.cs deleted file mode 100644 index 54e1eb09f..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Animations.cs +++ /dev/null @@ -1,106 +0,0 @@ - -using System; - -namespace NextGenSoftware.CLI.Engine -{ - public class ConsoleSpiner - { - int counter; - public ConsoleSpiner() - { - counter = 0; - } - public void Turn() - { - counter++; - switch (counter % 4) - { - case 0: Console.Write("/"); break; - case 1: Console.Write("-"); break; - case 2: Console.Write("\\"); break; - case 3: Console.Write("|"); break; - } - Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop); - } - } - - - public class Animations - { - int counter; - - public Animations() - { - counter = 0; - } - - public void Turn(string loadingText) - { - //Console.SetCursorPosition(loadingText.Length, Console.CursorTop); - - switch (counter % 4) - { - case 0: Console.Write("/"); break; - case 1: Console.Write("-"); break; - case 2: Console.Write("\\"); break; - case 3: Console.Write("|"); break; - } - - int left = Console.CursorLeft - 1; - - if (left < 0) - left = 0; - - Console.SetCursorPosition(left, Console.CursorTop); - } - - public void SequencedMatrix(int row, int column, int width, int height) - { - Console.SetCursorPosition(column, row); - - int spot = counter % width; - int[,] array = new int[width, height]; - - for (int x = 0; x < array.GetLength(0); x++) - { - for (int y = 0; y < array.GetLength(0); y++) - { - if (y == spot) - { - Console.Write("[X]"); - continue; - } - - Console.Write("[ ]"); - } - Console.WriteLine(""); - } - } - - public void LoadingBar(string loadingTest, int row, int column) - { - Console.SetCursorPosition(column, row); - string loadingText = loadingTest + " ["; - string loadingTextTerminator = " ]"; - Console.Write(loadingText + loadingTextTerminator); - - for (int i = 0; i < counter % 20; i++) - { - if (counter == 0) - { - Console.SetCursorPosition(column, row); - Console.Write(loadingText + loadingTextTerminator); - } - - Console.SetCursorPosition(loadingText.Length + i, row); - Console.Write("*"); - } - } - - public void Ready() - { - counter++; - System.Threading.Thread.Sleep(75); - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngine.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngine.cs deleted file mode 100644 index c86660fa9..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngine.cs +++ /dev/null @@ -1,1045 +0,0 @@ -using System; -using System.Drawing; -using System.IO; -using System.Threading; -using System.Threading.Tasks; -using BetterConsoleTables; -using NextGenSoftware.ErrorHandling; -using NextGenSoftware.Utilities; -using NextGenSoftware.Utilities.ExtentionMethods; - -namespace NextGenSoftware.CLI.Engine -{ - public static class CLIEngine - { - const char _block = '■'; - const string _back = "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"; - const string _twirl = "-\\|/"; - - private static string[] _columnHeaders; - private static string[][] _rows; - private static int _currentRow = 0; - private static ProgressBar _progressBar = null; - //private static ShellProgressBar.ProgressBar _progressBar = null; - private static int _lastPercentage = 0; - private static int _workingMessageLength = 0; - private static bool _updatingProgressBar = false; - private static bool _nextMessageOnSameLine = false; - public static Spinner Spinner = new Spinner(); - // public static Colorful.Console ColorfulConsole; - - public static ConsoleColor SuccessMessageColour { get; set; } = ConsoleColor.Green; - public static ConsoleColor ErrorMessageColour { get; set; } = ConsoleColor.Red; - public static ConsoleColor WarningMessageColour { get; set; } = ConsoleColor.DarkYellow; - public const ConsoleColor MessageColour = ConsoleColor.Yellow; - public static ConsoleColor WorkingMessageColour { get; set; } = ConsoleColor.Yellow; - public static bool SupressConsoleLogging { get; set; } = false; - - //public static ErrorHandlingBehaviour ErrorHandlingBehaviour { get; set; } = ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent; - public static ErrorHandlingBehaviour ErrorHandlingBehaviour - { - get - { - return ErrorHandling.ErrorHandling.ErrorHandlingBehaviour; - } - set - { - ErrorHandling.ErrorHandling.ErrorHandlingBehaviour = value; - } - } - - public delegate void Error(object sender, CLIEngineErrorEventArgs e); - public static event Error OnError; - - public static void WriteAsciMessage(string message, Color color) - { - Colorful.Console.WriteAscii(message, color); - } - - public static void ShowColoursAvailable() - { - try - { - ShowMessage("", false); - ConsoleColor oldColour = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Red; - Console.Write(" Sorry, that colour is not valid. Please try again. The colour needs to be one of the following: "); - - string[] values = Enum.GetNames(typeof(ConsoleColor)); - - for (int i = 0; i < values.Length; i++) - { - if (values[i] != "Black") - { - PrintColour(values[i]); - - if (i < values.Length - 2) - Console.Write(", "); - - else if (i == values.Length - 2) - Console.Write(" or "); - } - } - - ShowMessage("", false); - Console.ForegroundColor = oldColour; - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowColoursAvailable method.", ex); - } - } - - public static void PrintColour(string colour) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colour); - Console.Write(colour); - } - - public static void ShowSuccessMessage(string message, bool lineSpace = true, bool noLineBreak = false, int intendBy = 1) - { - ShowMessage(message, SuccessMessageColour, lineSpace, noLineBreak, intendBy); - } - - public static void ShowDivider(string character = "*", int dividerLength = 119, bool lineSpace = true, bool noLineBreaks = false, int intendBy = 1) - { - string divider = ""; - - for(int i = 0; i < dividerLength; i++) - divider = string.Concat(divider, character); - - ShowMessage(divider, MessageColour, lineSpace, noLineBreaks, intendBy); - } - - public static void ShowMessage(string message, bool lineSpace = true, bool noLineBreaks = false, int intendBy = 1) - { - ShowMessage(message, MessageColour, lineSpace, noLineBreaks, intendBy); - } - - public static void ShowMessage(string message, ConsoleColor colour, bool lineSpace = true, bool noLineBreaks = false, int intendBy = 1) - { - try - { - if (SupressConsoleLogging) - return; - - ConsoleColor existingColour = Console.ForegroundColor; - Console.ForegroundColor = colour; - //ShowMessage(message, lineSpace, noLineBreaks, intendBy); - bool wasSpinnerActive = false; - - if (Spinner.IsActive) - { - Spinner.Stop(); - wasSpinnerActive = true; - - if (!_nextMessageOnSameLine) - Console.WriteLine(""); - } - - _nextMessageOnSameLine = false; - - if (lineSpace) - Console.WriteLine(" "); - - string indent = ""; - for (int i = 0; i < intendBy; i++) - indent = string.Concat(indent, " "); - - if (noLineBreaks) - Console.Write(string.Concat(indent, message)); - else - { - // if (wasSpinnerActive) - // Console.WriteLine(""); - - - Console.WriteLine(string.Concat(indent, message)); - //Console.WriteLine(""); - } - - Console.ForegroundColor = existingColour; - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowMessage method.", ex); - } - } - - public static void ShowWorkingMessage(string message, bool lineSpace = true, int intendBy = 1, bool nextMessageOnSameLine = false) - { - try - { - if (SupressConsoleLogging) - return; - - ShowMessage(message, WorkingMessageColour, lineSpace, true, intendBy); - Spinner.Start(); - _nextMessageOnSameLine = nextMessageOnSameLine; - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowWorkingMessage method.", ex); - } - } - - public static void ShowWorkingMessage(string message, ConsoleColor color, bool lineSpace = true, int intendBy = 1, bool nextMessageOnSameLine = false) - { - try - { - if (SupressConsoleLogging) - return; - - ShowMessage(message, color, lineSpace, true, intendBy); - Spinner.Start(); - _nextMessageOnSameLine = nextMessageOnSameLine; - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowWorkingMessage method.", ex); - } - } - - public static void BeginWorkingMessage(string message, ConsoleColor consoleColour) - { - _workingMessageLength = message.Length; - ShowWorkingMessage(message, consoleColour, false, 1, true); - } - - public static void BeginWorkingMessage(string message) - { - _workingMessageLength = message.Length; - ShowWorkingMessage(message, WorkingMessageColour, false, 1, true); - } - - public static void UpdateWorkingMessage(string message, ConsoleColor consoleColour) - { - Spinner.Stop(); - Console.SetCursorPosition(0, Console.CursorTop); - Console.Write(string.Concat(" ", message, " "), consoleColour); - Spinner.Start(); - - //string back = ""; - //for (int i = 0; i < _workingMessageLength; i++) - // back = string.Concat(back, "\b"); - - //_workingMessageLength = message.Length; - //ShowWorkingMessage(string.Concat(back, message), consoleColour, false, 1, true); - } - - public static void UpdateWorkingMessageWithPercent(int percent, ConsoleColor consoleColour) - { - //Console.Write($"\b\b\b {percent}%"); - Console.Write($"\b\b\b\b\b {percent}%"); - //Console.Write($"\b\b\b\b\b\b {percent}%"); - - if (percent >= 10 && _lastPercentage < 10) - Spinner.Left++; - - _lastPercentage = percent; - } - - public static void UpdateWorkingMessageWithPercent(int percent) - { - UpdateWorkingMessageWithPercent(percent, WorkingMessageColour); - } - - public static void UpdateWorkingMessage(string message) - { - UpdateWorkingMessage(message, WorkingMessageColour); - } - - public static void EndWorkingMessage(string message, ConsoleColor consoleColour) - { - ShowMessage(message, consoleColour, false, false, 0); - } - - public static void EndWorkingMessage(string message) - { - ShowMessage(message, WorkingMessageColour, false, false, 0); - } - - public static void ShowErrorMessage(string message, bool lineSpace = true, bool noLineBreak = false, int intendBy = 1) - { - try - { - ShowMessage(message, ErrorMessageColour, lineSpace, noLineBreak, intendBy); - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowErrorMessage method.", ex); - } - } - - public static void ShowWarningMessage(string message, bool lineSpace = true, bool noLineBreak = false, int intendBy = 1) - { - try - { - ShowMessage(message, WarningMessageColour, lineSpace, noLineBreak, intendBy); - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ShowWarningMessage method.", ex); - } - } - - public static void BeginTable(string[] columnHeaders) - { - _columnHeaders = columnHeaders; - } - - public static void WriteTableRow(string[] columns) - { - _rows[_currentRow] = columns; - _currentRow++; - } - - public static void EndTable() - { - int width = Console.WindowWidth; - - for (int i = 0; i < _currentRow; i++) - { - for (int iCol = 0; iCol < _columnHeaders.Length; iCol++) - Console.Write(_rows[i][iCol]); - } - } - - public static string GetValidTitle(string message, ConsoleColor colour = MessageColour) - { - string title = GetValidInput(message, colour).ToUpper(); - //string[] validTitles = new string[5] { "Mr", "Mrs", "Ms", "Miss", "Dr" }; - string validTitles = "MR,MRS,MS,MISS,DR"; - - try - { - bool titleValid = false; - while (!titleValid) - { - if (!validTitles.Contains(title)) - { - ShowErrorMessage("Title invalid. Please try again. Valid values are: Mr, Mrs, Ms, Miss or Dr."); - title = GetValidInput(message).ToUpper(); - } - else - titleValid = true; - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidTitle method.", ex); - } - - return ExtensionMethods.ToPascalCase(title); - } - - public static string GetValidInput(string message, ConsoleColor colour = MessageColour) - { - string input = ""; - message = string.Concat(message, " "); - - try - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInput method.", ex); - } - - return input; - } - - public static long GetValidInputForLong(string message, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - long result = 0; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - { - result = -1; - break; - } - - if (long.TryParse(input, out result)) - valid = true; - else - { - ShowErrorMessage("Invalid Long Number."); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForLong method.", ex); - } - - return result; - } - - public static decimal GetValidInputForDecimal(string message, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - decimal result = 0; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - { - result = -1; - break; - } - - if (decimal.TryParse(input, out result)) - valid = true; - else - { - ShowErrorMessage("Invalid Decimal."); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForDecimal method.", ex); - } - - return result; - } - - public static double GetValidInputForDouble(string message, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - double result = 0; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - { - result = -1; - break; - } - - if (double.TryParse(input, out result)) - valid = true; - else - { - ShowErrorMessage("Invalid Double."); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForDouble method.", ex); - } - - return result; - } - - public static int GetValidInputForInt(string message, bool checkForLowestOrHighestRange = false, int lowest = 0, int highest = 0, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - int result = 0; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - break; - - if (int.TryParse(input, out result)) - { - if (checkForLowestOrHighestRange && result < lowest) - { - ShowErrorMessage($"Number must be above {lowest}."); - input = ""; - } - - else if (checkForLowestOrHighestRange && result > highest) - { - ShowErrorMessage($"Number must be below {highest}."); - input = ""; - } - else - valid = true; - } - else - { - ShowErrorMessage("Invalid Int (Number)."); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForInt method.", ex); - } - - return result; - } - - public static Guid GetValidInputForGuid(string message, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - Guid result = Guid.Empty; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - break; - - if (Guid.TryParse(input, out result)) - valid = true; - else - { - ShowErrorMessage("Invalid GUID."); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForGuid method.", ex); - } - - return result; - } - - public static object GetValidInputForEnum(string message, Type enumType, ConsoleColor colour = MessageColour) - { - string input = ""; - object objEnumValue = null; - message = string.Concat(message, " "); - - try - { - bool valid = false; - - while (!valid) - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - - if (input == "exit") - { - objEnumValue = "exit"; - break; - } - - valid = Enum.TryParse(enumType, input, out objEnumValue); - - if (!valid) - ShowMessage($"You need to enter one of the following: {EnumHelper.GetEnumValues(enumType, EnumHelperListType.ItemsSeperatedByComma)}"); - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInputForEnum method.", ex); - } - - return objEnumValue; - } - - public static string GetValidFolder(string message, bool createIfDoesNotExist = true, string baseAddress = "", ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - break; - - string path = Path.Combine(baseAddress, input); - - if (Directory.Exists(Path.Combine(baseAddress, input))) - valid = true; - else - { - if (createIfDoesNotExist) - { - if (GetConfirmation("The folder does not exist, do you wish to create it now?")) - { - Directory.CreateDirectory(Path.Combine(baseAddress, input)); - valid = Directory.Exists(Path.Combine(baseAddress, input)); - } - else - input = ""; - - //Console.WriteLine(""); - } - else - { - ShowErrorMessage("The folder does not exist!"); - input = ""; - } - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidFolder method.", ex); - } - - return input; - } - - //public static string GetValidFile(string message, string baseAddress = "", string defaultPath = "") - public static string GetValidFile(string message, string baseAddress = "", ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - - try - { - message = string.Concat(message, " "); - - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - break; - - if (File.Exists(Path.Combine(baseAddress, input))) - valid = true; - else - { - ShowErrorMessage("The file does not exist!"); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidFile method.", ex); - } - - return input; - } - - public static byte[] GetValidFileAndUpload(string message, string baseAddress = "", ConsoleColor colour = MessageColour) - { - string path = GetValidFile(message, baseAddress, colour); - - if (!string.IsNullOrEmpty(path)) - return File.ReadAllBytes(path); - - return null; - } - - public static async Task GetValidURIAsync(string message, bool checkFileExists = true, ConsoleColor colour = MessageColour) - { - string input = ""; - bool valid = false; - Uri uri = null; - message = string.Concat(message, " "); - - try - { - while (!valid) - { - while (string.IsNullOrEmpty(input) || string.IsNullOrWhiteSpace(input) && input != "exit") - { - ShowMessage(string.Concat("", message), colour, true, true); - input = Console.ReadLine(); - } - - if (input == "exit") - break; - - if (Uri.TryCreate(input, UriKind.Absolute, out uri)) - { - if (checkFileExists) - { - ShowWorkingMessage("Checking if the URI exists...", colour); - - if (await URIHelper.ValidateUrlWithHttpClientAsync(uri.AbsoluteUri)) - { - ShowSuccessMessage("The URI is valid!"); - valid = true; - } - else - { - ShowErrorMessage("The URI is valid but the resource/file does not exist!"); - input = ""; - } - } - else - valid = true; - } - else - { - ShowErrorMessage("The URI is invalid!"); - input = ""; - } - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidURI method.", ex); - } - - return uri; - } - - //public static bool GetConfirmation(string message) - //{ - // return GetConfirmation(message, MessageColour); - //} - - public static bool GetConfirmation(string message, ConsoleColor colour = MessageColour) - { - bool validKey = false; - bool confirm = false; - message = string.Concat(message, " "); - - try - { - while (!validKey) - { - ShowMessage(message, colour, true, true); - ConsoleKey key = Console.ReadKey().Key; - - if (key == ConsoleKey.Y) - { - confirm = true; - validKey = true; - } - - if (key == ConsoleKey.N) - { - confirm = false; - validKey = true; - } - } - - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidInput method.", ex); - } - - return confirm; - } - - public static string GetValidInputForEmail(string message) - { - bool emailValid = false; - string email = ""; - - while (!emailValid) - { - ShowMessage(string.Concat("", message), true, true); - email = Console.ReadLine(); - - if (!ValidationHelper.IsValidEmail(email)) - ShowErrorMessage("That email is not valid. Please try again."); - else - emailValid = true; - } - - return email; - } - - public static string GetValidPassword(string message = "What is the password you wish to use? ", string confirmMessage = "Please confirm password: ", ConsoleColor colour = MessageColour) - { - string password = ""; - string password2 = ""; - - try - { - ShowMessage("", false); - - while ((string.IsNullOrEmpty(password) && string.IsNullOrEmpty(password2)) || password != password2) - { - password = ReadPassword(message, colour); - password2 = ReadPassword(confirmMessage, colour); - - if (password != password2) - ShowErrorMessage("The passwords do not match. Please try again."); - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidPassword method.", ex); - } - - return password; - } - - public static string ReadPassword(string message, ConsoleColor colour = MessageColour) - { - string password = ""; - ConsoleKey key; - - try - { - while (string.IsNullOrEmpty(password) && string.IsNullOrWhiteSpace(password)) - { - ShowMessage(string.Concat("", message), colour, true, true); - - do - { - var keyInfo = Console.ReadKey(intercept: true); - key = keyInfo.Key; - - if (key == ConsoleKey.Backspace && password.Length > 0) - { - Console.Write("\b \b"); - password = password[0..^1]; - } - else if (!char.IsControl(keyInfo.KeyChar)) - { - Console.Write("*"); - password += keyInfo.KeyChar; - } - } while (key != ConsoleKey.Enter); - - ShowMessage("", false); - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.ReadPassword method.", ex); - } - - return password; - } - - public static void GetValidColour(ref ConsoleColor favColour, ref ConsoleColor cliColour, ConsoleColor messageColour = MessageColour) - { - try - { - bool colourSet = false; - while (!colourSet) - { - ShowMessage("What is your favourite colour? ", messageColour, true, true); - string colour = Console.ReadLine(); - colour = ExtensionMethods.ToPascalCase(colour); - //object colourObj = null; - // ConsoleColor colourObj; - - //if (Enum.TryParse(typeof(ConsoleColor), colour, out colourObj)) - if (Enum.TryParse(colour, out favColour)) - { - // favColour = (ConsoleColor)colourObj; - Console.ForegroundColor = favColour; - ShowMessage("Do you prefer to use your favourite colour? :) ", messageColour, true, true); - - if (Console.ReadKey().Key != ConsoleKey.Y) - { - Console.WriteLine(""); - - while (!colourSet) - { - //Defaults - Console.ForegroundColor = ConsoleColor.Yellow; - Spinner.Colour = ConsoleColor.Green; - - ShowMessage("Which colour would you prefer? ", messageColour, true, true); - colour = Console.ReadLine(); - colour = ExtensionMethods.ToPascalCase(colour); - //colourObj = null; - - //if (Enum.TryParse(typeof(ConsoleColor), colour, out colourObj)) - if (Enum.TryParse(colour, out cliColour)) - { - //cliColour = (ConsoleColor)colourObj; - Console.ForegroundColor = cliColour; - Spinner.Colour = cliColour; - - // ShowMessage("", false); - ShowMessage("This colour ok? ", true, true); - - if (Console.ReadKey().Key == ConsoleKey.Y) - colourSet = true; - else - ShowMessage("", false); - } - else - ShowColoursAvailable(); - } - } - else - colourSet = true; - } - else - ShowColoursAvailable(); - } - } - catch (Exception ex) - { - HandleError("Error occured in CLIEngine.GetValidColour method.", ex); - } - } - - public static void ShowProgressBar(double percent) - { - if (_progressBar == null) - _progressBar = new ProgressBar(); - - _progressBar.Report(percent); - } - - public static void DisposeProgressBar(bool clearText = true) - { - if (_progressBar != null) - { - if (clearText) - _progressBar.Dispose(); - else - _progressBar.DisposeButKeepText(); - - _progressBar = null; - } - } - - //public static void ShowProgressBar(string message, int maxTicks, ConsoleColor colour = ConsoleColor.Yellow) - //{ - // if (_progressBar == null) - // _progressBar = new ShellProgressBar.ProgressBar(maxTicks, message, colour); - - // _progressBar.Tick() - //} - - - - //public static void ShowProgressBar(int percent, bool update = false) - //{ - // if (_updatingProgressBar) - // return; - - // _updatingProgressBar = true; - - // if (update) - // Console.Write(_back); - // Console.Write("["); - // var p = (int)((percent / 10f) + .5f); - // for (var i = 0; i < 10; ++i) - // { - // if (i >= p) - // Console.Write(' '); - // else - // Console.Write(_block); - // } - // Console.Write("] {0,3:##0}%", percent); - // //Spinner.Start(); - - // _updatingProgressBar = false; - //} - - //private static string WriteMessage(string message, bool lineSpace = true, int intendBy = 1) - //{ - // if (Spinner.IsActive) - // { - // Spinner.Stop(); - // Console.WriteLine(""); - // } - - // ConsoleColor existingColour = Console.ForegroundColor; - // Console.ForegroundColor = ConsoleColor.Red; - - // if (lineSpace) - // Console.WriteLine(""); - - // string indent = ""; - // for (int i = 0; i < intendBy; i++) - // indent = string.Concat(indent, " "); - - // Console.WriteLine(string.Concat(indent, message)); - // Console.ForegroundColor = existingColour; - //} - - private static void HandleError(string message, Exception exception) - { - message = string.Concat(message, exception != null ? $". Error Details: {exception}" : ""); - //Logging.Logging.Log(message, LogType.Error); - - OnError?.Invoke(null, new CLIEngineErrorEventArgs { Reason = message, ErrorDetails = exception }); - - switch (ErrorHandlingBehaviour) - { - case ErrorHandlingBehaviour.AlwaysThrowExceptionOnError: - throw new CLIEngineException(message, exception); - - case ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent: - { - if (OnError == null) - throw new CLIEngineException(message, exception); - } - break; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngineException.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngineException.cs deleted file mode 100644 index 0a051970d..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/CLIEngineException.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace NextGenSoftware.CLI.Engine -{ - public class CLIEngineException : Exception - { - public CLIEngineException() - { - - } - - public CLIEngineException(string message) : base(message) - { - - } - - public CLIEngineException(string message, Exception innerException) : base(message, innerException) - { - - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ConsoleHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ConsoleHelper.cs deleted file mode 100644 index 0d85235a0..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ConsoleHelper.cs +++ /dev/null @@ -1,85 +0,0 @@ -namespace NextGenSoftware.CLI.Engine -{ - using System; - using System.Runtime.InteropServices; - - public static class ConsoleHelper - { - private const int FixedWidthTrueType = 54; - private const int StandardOutputHandle = -11; - - [DllImport("kernel32.dll", SetLastError = true)] - internal static extern IntPtr GetStdHandle(int nStdHandle); - - [return: MarshalAs(UnmanagedType.Bool)] - [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)] - internal static extern bool SetCurrentConsoleFontEx(IntPtr hConsoleOutput, bool MaximumWindow, ref FontInfo ConsoleCurrentFontEx); - - [return: MarshalAs(UnmanagedType.Bool)] - [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)] - internal static extern bool GetCurrentConsoleFontEx(IntPtr hConsoleOutput, bool MaximumWindow, ref FontInfo ConsoleCurrentFontEx); - - - private static readonly IntPtr ConsoleOutputHandle = GetStdHandle(StandardOutputHandle); - - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] - public struct FontInfo - { - internal int cbSize; - internal int FontIndex; - internal short FontWidth; - public short FontSize; - public int FontFamily; - public int FontWeight; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] - //[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.wc, SizeConst = 32)] - public string FontName; - } - - public static FontInfo[] SetCurrentFont(string font, short fontSize = 0) - { - Console.WriteLine("Set Current Font: " + font); - - FontInfo before = new FontInfo - { - cbSize = Marshal.SizeOf() - }; - - if (GetCurrentConsoleFontEx(ConsoleOutputHandle, false, ref before)) - { - - FontInfo set = new FontInfo - { - cbSize = Marshal.SizeOf(), - FontIndex = 0, - FontFamily = FixedWidthTrueType, - FontName = font, - FontWeight = 400, - FontSize = fontSize > 0 ? fontSize : before.FontSize - }; - - // Get some settings from current font. - if (!SetCurrentConsoleFontEx(ConsoleOutputHandle, false, ref set)) - { - var ex = Marshal.GetLastWin32Error(); - Console.WriteLine("Set error " + ex); - throw new System.ComponentModel.Win32Exception(ex); - } - - FontInfo after = new FontInfo - { - cbSize = Marshal.SizeOf() - }; - GetCurrentConsoleFontEx(ConsoleOutputHandle, false, ref after); - - return new[] { before, set, after }; - } - else - { - var er = Marshal.GetLastWin32Error(); - Console.WriteLine("Get error " + er); - throw new System.ComponentModel.Win32Exception(er); - } - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Enums/ErrorHandlingBehaviourEnum.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Enums/ErrorHandlingBehaviourEnum.cs deleted file mode 100644 index 4d942e6c2..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Enums/ErrorHandlingBehaviourEnum.cs +++ /dev/null @@ -1,10 +0,0 @@ - -//namespace NextGenSoftware.CLI.Engine -//{ -// public enum ErrorHandlingBehaviour -// { -// AlwaysThrowExceptionOnError, -// OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent, -// NeverThrowExceptions -// } -//} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/EventArgs.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/EventArgs.cs deleted file mode 100644 index 18c917a52..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/EventArgs.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace NextGenSoftware.CLI.Engine -{ - public class CLIEngineErrorEventArgs : EventArgs - { - public string Reason { get; set; } - public Exception ErrorDetails { get; set; } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/NextGenSoftware.CLI.Engine.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/NextGenSoftware.CLI.Engine.csproj deleted file mode 100644 index 2e3b011bf..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/NextGenSoftware.CLI.Engine.csproj +++ /dev/null @@ -1,80 +0,0 @@ - - - - net8.0 - - NextGenSoftware.CLI.Engine - NextGen Software Ltd - CLI Engine - CLI Engine - CLI Engine providing CLI utility/helper methods, colour, animation & more! - CLI Engine providing CLI utility/helper methods, colour, animation & more! - https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - STARJPG.JPG - David Ellams (NextGen Software Ltd) - CLI;Engine - - - Upgraded to .NET 8. - - Added BeginWorkingMessage and EndWorkingMessage making it easier to show a working animation/message before a long operation starts and then when EndWorkingMessage is called the animation is ended and a DONE is showed at the end of the working message on the same line. - - Added nextMessageOnSameLine to ShowMessage methods. - - Added SupressConsoleLogging property to allow console logging to be toggled on/off. - - Integrated the new NextGenSoftware.ErrorHandling lib. - - Improved error handling/robustness. - - Improved compatability for other platforms. - - Various bugs fixed. - - Misc other improvements. - - git - https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - Copyright © NextGen Software Ltd 2022 - 2024 - README.md - - MIT - True - 1.3.0 - - - false - - - - - True - \ - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - - - - - - \ - True - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ProgressBar.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ProgressBar.cs deleted file mode 100644 index b83f96bcd..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/ProgressBar.cs +++ /dev/null @@ -1,129 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NextGenSoftware.CLI.Engine -{ - using System; - using System.Text; - using System.Threading; - - /// - /// An ASCII progress bar - /// - public class ProgressBar : IDisposable, IProgress - { - private const int blockCount = 10; - private readonly TimeSpan animationInterval = TimeSpan.FromSeconds(1.0 / 8); - private const string animation = @"|/-\"; - - private readonly Timer timer; - - private double currentProgress = 0; - private string currentText = string.Empty; - private bool disposed = false; - private int animationIndex = 0; - - public ProgressBar() - { - timer = new Timer(TimerHandler); - - // A progress bar is only for temporary display in a console window. - // If the console output is redirected to a file, draw nothing. - // Otherwise, we'll end up with a lot of garbage in the target file. - if (!Console.IsOutputRedirected) - { - ResetTimer(); - } - } - - public void Report(double value) - { - // Make sure value is in [0..1] range - value = Math.Max(0, Math.Min(1, value)); - Interlocked.Exchange(ref currentProgress, value); - - //if (value == 100) - // Dispose(); - } - - private void TimerHandler(object state) - { - lock (timer) - { - if (disposed) return; - - int progressBlockCount = (int)(currentProgress * blockCount); - int percent = (int)(currentProgress * 100); - string text = string.Format(" [{0}{1}] {2,3}% {3}", - new string('■', progressBlockCount), new string('-', blockCount - progressBlockCount), - percent, - animation[animationIndex++ % animation.Length]); - UpdateText(text); - - ResetTimer(); - } - } - - private void UpdateText(string text) - { - // Get length of common portion - int commonPrefixLength = 0; - int commonLength = Math.Min(currentText.Length, text.Length); - while (commonPrefixLength < commonLength && text[commonPrefixLength] == currentText[commonPrefixLength]) - { - commonPrefixLength++; - } - - // Backtrack to the first differing character - StringBuilder outputBuilder = new StringBuilder(); - outputBuilder.Append('\b', currentText.Length - commonPrefixLength); - - // Output new suffix - outputBuilder.Append(text.Substring(commonPrefixLength)); - - // If the new text is shorter than the old one: delete overlapping characters - int overlapCount = currentText.Length - text.Length; - if (overlapCount > 0) - { - outputBuilder.Append(' ', overlapCount); - outputBuilder.Append('\b', overlapCount); - } - - Console.Write(outputBuilder); - currentText = text; - } - - private void ResetTimer() - { - timer.Change(animationInterval, TimeSpan.FromMilliseconds(-1)); - } - - public void Dispose() - { - lock (timer) - { - disposed = true; - UpdateText(string.Empty); - timer.Dispose(); - } - } - - public void DisposeButKeepText() - { - lock (timer) - { - //Report(100); - //TimerHandler(null); - - if (currentProgress == 1) - UpdateText(" [■■■■■■■■■■] 100%"); - - disposed = true; - timer.Dispose(); - } - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/README.md deleted file mode 100644 index 545f74cc6..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# NextGen Software CLI Engine - -This library is used for other NextGen Software libraries/products such as STAR ODK CLI, .NET HDK CLI, Logging, WebSocket & HoloNET (world's first .NET & Unity client for Holochain), which can be found below: -https://github.com/NextGenSoftwareUK/holochain-client-csharp - -CLIEngine provides the following methods: - -WriteAsciMessage \ -ShowColoursAvailable \ -PrintColour \ -ShowSuccessMessage \ -ShowMessage \ -ShowWorkingMessage \ -ShowErrorMessage \ -GetValidTitle \ -GetValidInput \ -GetConfirmation \ -GetValidPassword \ -ReadPassword \ -GetValidColour \ -More coming soon... - -More documentation will be coming soon for the CLI Engine... \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.deps.json b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.deps.json deleted file mode 100644 index 3eec0ab47..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.deps.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v5.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v5.0": { - "Spectre.Console/1.0.0": { - "dependencies": { - "Microsoft.CodeAnalysis.NetAnalyzers": "5.0.3", - "Microsoft.SourceLink.GitHub": "1.0.0", - "MinVer": "2.4.0", - "Nullable": "1.3.0", - "Roslynator.Analyzers": "3.0.0", - "StyleCop.Analyzers": "1.2.0-beta.312", - "TunnelVisionLabs.ReferenceAssemblyAnnotator": "1.0.0-alpha.160", - "Wcwidth": "0.2.0" - }, - "runtime": { - "Spectre.Console.dll": {} - } - }, - "Microsoft.Build.Tasks.Git/1.0.0": {}, - "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": {}, - "Microsoft.SourceLink.Common/1.0.0": {}, - "Microsoft.SourceLink.GitHub/1.0.0": { - "dependencies": { - "Microsoft.Build.Tasks.Git": "1.0.0", - "Microsoft.SourceLink.Common": "1.0.0" - } - }, - "MinVer/2.4.0": {}, - "Nullable/1.3.0": {}, - "Roslynator.Analyzers/3.0.0": {}, - "StyleCop.Analyzers/1.2.0-beta.312": { - "dependencies": { - "StyleCop.Analyzers.Unstable": "1.2.0.312" - } - }, - "StyleCop.Analyzers.Unstable/1.2.0.312": {}, - "TunnelVisionLabs.ReferenceAssemblyAnnotator/1.0.0-alpha.160": {}, - "Wcwidth/0.2.0": { - "runtime": { - "lib/netstandard2.0/Wcwidth.dll": { - "assemblyVersion": "0.0.0.0", - "fileVersion": "0.2.0.0" - } - } - } - } - }, - "libraries": { - "Spectre.Console/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Microsoft.Build.Tasks.Git/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-z2fpmmt+1Jfl+ZnBki9nSP08S1/tbEOxFdsK1rSR+LBehIJz1Xv9/6qOOoGNqlwnAGGVGis1Oj6S8Kt9COEYlQ==", - "path": "microsoft.build.tasks.git/1.0.0", - "hashPath": "microsoft.build.tasks.git.1.0.0.nupkg.sha512" - }, - "Microsoft.CodeAnalysis.NetAnalyzers/5.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7rw0JUPSAVGR0HPekQiQvwGPor44p/Ek21+wZABraG4bVYNrSkx98ZZsxSxG5jJ4oqjACJxea8E62UO0dsKDBw==", - "path": "microsoft.codeanalysis.netanalyzers/5.0.3", - "hashPath": "microsoft.codeanalysis.netanalyzers.5.0.3.nupkg.sha512" - }, - "Microsoft.SourceLink.Common/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-G8DuQY8/DK5NN+3jm5wcMcd9QYD90UV7MiLmdljSJixi3U/vNaeBKmmXUqI4DJCOeWizIUEh4ALhSt58mR+5eg==", - "path": "microsoft.sourcelink.common/1.0.0", - "hashPath": "microsoft.sourcelink.common.1.0.0.nupkg.sha512" - }, - "Microsoft.SourceLink.GitHub/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aZyGyGg2nFSxix+xMkPmlmZSsnGQ3w+mIG23LTxJZHN+GPwTQ5FpPgDo7RMOq+Kcf5D4hFWfXkGhoGstawX13Q==", - "path": "microsoft.sourcelink.github/1.0.0", - "hashPath": "microsoft.sourcelink.github.1.0.0.nupkg.sha512" - }, - "MinVer/2.4.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yc6R4wdmT87wTVtg4o3jcEtatnMSYdvb6XmewJH9ee2mUnee3osutVKziweWlvgFzSa/r5RAz/Qin5XzD0nxwQ==", - "path": "minver/2.4.0", - "hashPath": "minver.2.4.0.nupkg.sha512" - }, - "Nullable/1.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xHAviTdTY3n+t1nEPN4JPRQR5lI124qRKVw+U9H7dO5sDNPpzoWeo/MQy7dSUmv9eD3k/CJVKokz1tFK+JOzRw==", - "path": "nullable/1.3.0", - "hashPath": "nullable.1.3.0.nupkg.sha512" - }, - "Roslynator.Analyzers/3.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UKaYNtbXGGkR83rMA42DbA43fIUebO+WfHvPk29WMZfXzzF9kTKEB0HL6dUmcukgeHwXyTBCj6946DSaoow02A==", - "path": "roslynator.analyzers/3.0.0", - "hashPath": "roslynator.analyzers.3.0.0.nupkg.sha512" - }, - "StyleCop.Analyzers/1.2.0-beta.312": { - "type": "package", - "serviceable": true, - "sha512": "sha512-SQCTxlYm6+d4rJ1/hNVLNryOZx6y23Z0JYp9WmUu6YtCApNMyUNJ//4yucqP7al2Jv0kwBuTRyK/4qWmGmIA/A==", - "path": "stylecop.analyzers/1.2.0-beta.312", - "hashPath": "stylecop.analyzers.1.2.0-beta.312.nupkg.sha512" - }, - "StyleCop.Analyzers.Unstable/1.2.0.312": { - "type": "package", - "serviceable": true, - "sha512": "sha512-MtkINha/h9vxhjRR9mYiwtwGGeJQzgshCuQkwlSGHjXdo3hJB769Jiu6Lh0/ouyTXck0gE0ZD0UCjmaY6hCwHQ==", - "path": "stylecop.analyzers.unstable/1.2.0.312", - "hashPath": "stylecop.analyzers.unstable.1.2.0.312.nupkg.sha512" - }, - "TunnelVisionLabs.ReferenceAssemblyAnnotator/1.0.0-alpha.160": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ktxB8PGoPpIaYKjLk/+P94Fi2Qw2E1Dw7atBQRrKnHA57sk8WwmkI4RJmg6s5ph4k1RIaaAZMus05ah/AikEkA==", - "path": "tunnelvisionlabs.referenceassemblyannotator/1.0.0-alpha.160", - "hashPath": "tunnelvisionlabs.referenceassemblyannotator.1.0.0-alpha.160.nupkg.sha512" - }, - "Wcwidth/0.2.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-H7no2W0vuLJTvSPanlrijtG3UdJNVoeWBOp2a5dJFVa2tqSQuP5GfbJw1xAtPG9agRW310nFTUUsyPz5tuVIxw==", - "path": "wcwidth/0.2.0", - "hashPath": "wcwidth.0.2.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.xml b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.xml deleted file mode 100644 index c3dbf6a84..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spectre.Console.xml +++ /dev/null @@ -1,18236 +0,0 @@ - - - - Spectre.Console - - - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - A console capable of writing ANSI escape sequences. - - - - - Gets or sets the underlying . - - - - - Gets the . - - - - - Gets the console profile. - - - - - Creates a new instance - from the provided settings. - - The settings to use. - An instance. - - - - Clears the console. - - - - - Writes an exception to the console. - - The exception to write to the console. - The exception format options. - - - - Writes an exception to the console. - - The exception to write to the console. - The exception settings. - - - - Writes the specified markup to the console. - - The value to write. - - - - Writes the specified markup to the console. - - A composite format string. - An array of objects to write. - - - - Writes the specified markup to the console. - - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - The value to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - A composite format string. - An array of objects to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Creates a new instance. - - A instance. - - - - Creates a new instance. - - A instance. - - - - Displays a prompt to the user. - - The prompt result type. - The prompt to display. - The prompt input result. - - - - Displays a prompt to the user. - - The prompt result type. - The prompt markup text. - The prompt input result. - - - - Displays a prompt with two choices, yes or no. - - The prompt markup text. - Specifies the default answer. - true if the user selected "yes", otherwise false. - - - - Starts recording the console output. - - - - - Exports all recorded console output as text. - - The recorded output as text. - - - - Exports all recorded console output as HTML text. - - The recorded output as HTML text. - - - - Exports all recorded console output using a custom encoder. - - The encoder to use. - The recorded output. - - - - Renders the specified object to the console. - - The object to render. - - - - Gets or sets the foreground color. - - - - - Gets or sets the background color. - - - - - Gets or sets the text decoration. - - - - - Resets colors and text decorations. - - - - - Resets the current applied text decorations. - - - - - Resets the current applied foreground and background colors. - - - - - Writes the specified string value to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit - signed integer value to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit - signed integer value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 32-bit - unsigned integer value to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit - unsigned integer value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 64-bit - signed integer value to the console. - - The value to write. - - - - Writes the text representation of the specified 64-bit - signed integer value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 64-bit - unsigned integer value to the console. - - The value to write. - - - - Writes the text representation of the specified 64-bit - unsigned integer value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified single-precision - floating-point value to the console. - - The value to write. - - - - Writes the text representation of the specified single-precision - floating-point value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified double-precision - floating-point value to the console. - - The value to write. - - - - Writes the text representation of the specified double-precision - floating-point value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified decimal value, to the console. - - The value to write. - - - - Writes the text representation of the specified decimal value, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified boolean value to the console. - - The value to write. - - - - Writes the text representation of the specified boolean value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the specified Unicode character to the console. - - The value to write. - - - - Writes the specified Unicode character to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the specified array of Unicode characters to the console. - - The value to write. - - - - Writes the specified array of Unicode characters to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified array of objects, - to the console using the specified format information. - - A composite format string. - An array of objects to write. - - - - Writes the text representation of the specified array of objects, - to the console using the specified format information. - - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Writes an empty line to the console. - - - - - Writes the specified string value, followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit signed integer value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit signed integer value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 32-bit unsigned integer value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified 32-bit unsigned integer value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 64-bit signed integer value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified 64-bit signed integer value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified 64-bit unsigned integer value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified 64-bit unsigned integer value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified single-precision floating-point - value, followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified single-precision floating-point - value, followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified double-precision floating-point - value, followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified double-precision floating-point - value, followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified decimal value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified decimal value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified boolean value, - followed by the current line terminator, to the console. - - The value to write. - - - - Writes the text representation of the specified boolean value, - followed by the current line terminator, to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the specified Unicode character, followed by the current - line terminator, value to the console. - - The value to write. - - - - Writes the specified Unicode character, followed by the current - line terminator, value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the specified array of Unicode characters, followed by the current - line terminator, value to the console. - - The value to write. - - - - Writes the specified array of Unicode characters, followed by the current - line terminator, value to the console. - - An object that supplies culture-specific formatting information. - The value to write. - - - - Writes the text representation of the specified array of objects, - followed by the current line terminator, to the console - using the specified format information. - - A composite format string. - An array of objects to write. - - - - Writes the text representation of the specified array of objects, - followed by the current line terminator, to the console - using the specified format information. - - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Factory for creating an ANSI console. - - - - - Creates an ANSI console. - - The settings. - An implementation of . - - - - Represents console output. - - - - - - - - - - - - - - - - - Initializes a new instance of the class. - - The output writer. - - - - - - - Settings used when building a . - - - - - Gets or sets a value indicating whether or - not ANSI escape sequences are supported. - - - - - Gets or sets the color system to use. - - - - - Gets or sets the out buffer. - - - - - Gets or sets a value indicating whether or not the - terminal is interactive or not. - - - - - Gets or sets the exclusivity mode. - - - - - Gets or sets the profile enrichments settings. - - - - - Gets or sets the environment variables. - If not value is provided the default environment variables will be used. - - - - - Initializes a new instance of the class. - - - - - Determines ANSI escape sequence support. - - - - - ANSI escape sequence support should - be detected by the system. - - - - - ANSI escape sequences are supported. - - - - - ANSI escape sequences are not supported. - - - - - Represents a border. - - - Represents a border. - - - - - Gets the safe border for this border or null if none exist. - - - - - Gets the string representation of the specified border part. - - The part to get the character representation for. - A character representation of the specified border part. - - - - Gets an invisible border. - - - - - Gets an ASCII border. - - - - - Gets a double border. - - - - - Gets a heavy border. - - - - - Gets a rounded border. - - - - - Gets a square border. - - - - - Represents console capabilities. - - - - - Gets or sets the color system. - - - - - Gets or sets a value indicating whether or not - the console supports VT/ANSI control codes. - - - - - Gets or sets a value indicating whether or not - the console support links. - - - - - Gets or sets a value indicating whether or not - this is a legacy console (cmd.exe) on an OS - prior to Windows 10. - - - Only relevant when running on Microsoft Windows. - - - - - Gets a value indicating whether or not - the output is a terminal. - - - - - Gets or sets a value indicating whether - or not the console supports interaction. - - - - - Gets or sets a value indicating whether - or not the console supports Unicode. - - - - - Initializes a new instance of the - class. - - - - - An attribute representing a command argument. - - - - - - Gets the argument position. - - The argument position. - - - - Gets the value name of the argument. - - The value name of the argument. - - - - Gets a value indicating whether the argument is required. - - - true if the argument is required; otherwise, false. - - - - - Initializes a new instance of the class. - - The argument position. - The argument template. - - - - An attribute representing a command option. - - - - - - Gets the long names of the option. - - The option's long names. - - - - Gets the short names of the option. - - The option's short names. - - - - Gets the value name of the option. - - The option's value name. - - - - Gets a value indicating whether the value is optional. - - - - - Initializes a new instance of the class. - - The option template. - - - - Specifies what type to use as a pair deconstructor for - the property this attribute is bound to. - - - - - Gets the that represents the type of the - pair deconstructor class to use for data conversion for the - object this attribute is bound to. - - - - - Initializes a new instance of the class. - - - A System.Type that represents the type of the pair deconstructor - class to use for data conversion for the object this attribute is bound to. - - - - - An base class attribute used for parameter validation. - - - - - - Gets the validation error message. - - The validation error message. - - - - Initializes a new instance of the class. - - The validation error message. - - - - Validates the parameter value. - - The parameter info. - The parameter value. - The validation result. - - - - Base class for an asynchronous command with no settings. - - - - - Executes the command. - - The command context. - An integer indicating whether or not the command executed successfully. - - - - - - - - - - - - - Base class for an asynchronous command. - - The settings type. - - - - Validates the specified settings and remaining arguments. - - The command context. - The settings. - The validation result. - - - - Executes the command. - - The command context. - The settings. - An integer indicating whether or not the command executed successfully. - - - - - - - - - - - - - Represents case sensitivity. - - - - - Nothing is case sensitive. - - - - - Long options are case sensitive. - - - - - Commands are case sensitive. - - - - - Everything is case sensitive. - - - - - Base class for a command without settings. - - - - - - Executes the command. - - The command context. - An integer indicating whether or not the command executed successfully. - - - - - - - - - - - - - The entry point for a command line application. - - - - - Initializes a new instance of the class. - - The registrar. - - - - Configures the command line application. - - The configuration. - - - - Sets the default command. - - The command type. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Represents errors that occur during application execution. - - - - - Gets the pretty formatted exception message. - - - - - The entry point for a command line application with a default command. - - The type of the default command. - - - - Initializes a new instance of the class. - - The registrar. - - - - Configures the command line application. - - The configuration. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Represents errors that occur during configuration. - - - - - Represents a command context. - - - - - Gets the remaining arguments. - - - The remaining arguments. - - - - - Gets the name of the command. - - - The name of the command. - - - - - Gets the data that was passed to the command during registration (if any). - - - The command data. - - - - - Initializes a new instance of the class. - - The remaining arguments. - The command name. - The command data. - - - - Represents errors that occur during parsing. - - - - - Represents errors that occur during runtime. - - - - - Base class for command settings. - - - - - Performs validation of the settings. - - The validation result. - - - - Represents errors related to parameter templates. - - - - - Gets the template that contains the error. - - - - - Base class for a command. - - The settings type. - - - - - Validates the specified settings and remaining arguments. - - The command context. - The settings. - The validation result. - - - - Executes the command. - - The command context. - The settings. - An integer indicating whether or not the command executed successfully. - - - - - - - - - - - - - Contains extensions for - and . - - - - - Sets the name of the application. - - The configurator. - The name of the application. - A configurator that can be used to configure the application further. - - - - Overrides the auto-detected version of the application. - - The configurator. - The version of application. - A configurator that can be used to configure the application further. - - - - Configures the console. - - The configurator. - The console. - A configurator that can be used to configure the application further. - - - - Sets the parsing mode to strict. - - The configurator. - A configurator that can be used to configure the application further. - - - - Tells the command line application to propagate all - exceptions to the user. - - The configurator. - A configurator that can be used to configure the application further. - - - - Configures case sensitivity. - - The configuration. - The case sensitivity. - A configurator that can be used to configure the application further. - - - - Tells the command line application to validate all - examples before running the application. - - The configurator. - A configurator that can be used to configure the application further. - - - - Sets the command interceptor to be used. - - The configurator. - A . - A configurator that can be used to configure the application further. - - - - Adds a command branch. - - The configurator. - The name of the command branch. - The command branch configuration. - - - - Adds a command branch. - - The command setting type. - The configurator. - The name of the command branch. - The command branch configuration. - - - - Adds a command without settings that executes a delegate. - - The configurator. - The name of the command. - The delegate to execute as part of command execution. - A command configurator that can be used to configure the command further. - - - - Adds a command without settings that executes a delegate. - - The command setting type. - The configurator. - The name of the command. - The delegate to execute as part of command execution. - A command configurator that can be used to configure the command further. - - - - Represents empty settings. - - - - - Implementation of a flag with an optional value. - - The flag's element type. - - - - Gets or sets a value indicating whether or not the flag was set or not. - - - - - Gets or sets the flag's value. - - - - - - - - - - - - - - Represents a command. - - - - - Validates the specified settings and remaining arguments. - - The command context. - The settings. - The validation result. - - - - Executes the command. - - The command context. - The settings. - The validation result. - - - - Represents a command line application. - - - - - Configures the command line application. - - The configuration. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Runs the command line application with specified arguments. - - The arguments. - The exit code from the executed command. - - - - Represents a command line application settings. - - - - - Gets or sets the application name. - - - - - Gets or sets the application version (use it to override auto-detected value). - - - - - Gets or sets the . - - - - - Gets or sets the used - to intercept settings before it's being sent to the command. - - - - - Gets the type registrar. - - - - - Gets or sets case sensitivity. - - - - - Gets or sets a value indicating whether or not parsing is strict. - - - - - Gets or sets a value indicating whether or not exceptions should be propagated. - - - - - Gets or sets a value indicating whether or not examples should be validated. - - - - - Represents a command configurator. - - - - - Adds an example of how to use the command. - - The example arguments. - The same instance so that multiple calls can be chained. - - - - Adds an alias (an alternative name) to the command being configured. - - The alias to add to the command being configured. - The same instance so that multiple calls can be chained. - - - - Sets the description of the command. - - The command description. - The same instance so that multiple calls can be chained. - - - - Sets data that will be passed to the command via the . - - The data to pass to the command. - The same instance so that multiple calls can be chained. - - - - Marks the command as hidden. - Hidden commands do not show up in help documentation or - generated XML models. - - The same instance so that multiple calls can be chained. - - - - Represents a command settings interceptor that - will intercept command settings before it's - passed to a command. - - - - - Intercepts command information before it's passed to a command. - - The intercepted . - The intercepted . - - - - Represents a command limiter. - - The type of the settings to limit to. - - - - - Represents a command parameter. - - - - - Gets the property name. - - The property name. - - - - Gets the description. - - The description. - - - - Represents a command. - - The settings type. - - - - Executes the command. - - The command context. - The settings. - An integer indicating whether or not the command executed successfully. - - - - Represents a configurator. - - - - - Gets the command app settings. - - - - - Adds an example of how to use the application. - - The example arguments. - - - - Adds a command. - - The command type. - The name of the command. - A command configurator that can be used to configure the command further. - - - - Adds a command that executes a delegate. - - The command setting type. - The name of the command. - The delegate to execute as part of command execution. - A command configurator that can be used to configure the command further. - - - - Adds a command branch. - - The command setting type. - The name of the command branch. - The command branch configurator. - - - - Represents a configurator for specific settings. - - The command setting type. - - - - Sets the description of the branch. - - The description of the branch. - - - - Adds an example of how to use the branch. - - The example arguments. - - - - Marks the branch as hidden. - Hidden branches do not show up in help documentation or - generated XML models. - - - - - Adds a command. - - The command type. - The name of the command. - A command configurator that can be used to configure the command further. - - - - Adds a command that executes a delegate. - - The derived command setting type. - The name of the command. - The delegate to execute as part of command execution. - A command configurator that can be used to configure the command further. - - - - Adds a command branch. - - The derived command setting type. - The name of the command branch. - The command branch configuration. - - - - Represents a flag with an optional value. - - - - - Gets or sets a value indicating whether or not the flag was set or not. - - - - - Gets the flag's element type. - - - - - Gets or sets the flag's value. - - - - - Representation of a multi map. - - - - - Adds a key and a value to the multi map. - - The pair to add. - - - - Represents a configuration. - - - - - Gets the configured commands. - - - - - Gets the settings for the configuration. - - - - - Gets the default command for the configuration. - - - - - Gets all examples for the configuration. - - - - - - - - Represents a pair deconstructor. - - - - - Deconstructs the specified value into its components. - - The type resolver to use. - The key type. - The value type. - The value to deconstruct. - A deconstructed value. - - - - Represents a command container. - - - - - Gets all commands in the container. - - - - - Represents the remaining arguments. - - - - - Gets the parsed remaining arguments. - - - - - Gets the raw, non-parsed remaining arguments. - - - - - Represents a type registrar. - - - - - Registers the specified service. - - The service. - The implementation. - - - - Registers the specified instance. - - The service. - The implementation. - - - - Registers the specified instance lazily. - - The service. - The factory that creates the implementation. - - - - Builds the type resolver representing the registrations - specified in the current instance. - - A type resolver. - - - - Represents a user friendly frontend for a . - - - - - Registers the type with the type registrar as a singleton. - - The exposed service type. - The implementing type. - - - - Registers the specified instance with the type registrar as a singleton. - - The type of the instance. - The instance to register. - - - - Registers the specified instance with the type registrar as a singleton. - - The exposed service type. - implementing type. - The instance to register. - - - - Represents a type resolver. - - - - - Resolves an instance of the specified type. - - The type to resolve. - An instance of the specified type. - - - - Base class for a pair deconstructor. - - The key type. - The value type. - - - - Deconstructs the provided into a pair. - - The string to deconstruct into a pair. - The deconstructed pair. - - - - - - - Represents an unsafe configurator for a branch. - - - - - Sets the description of the branch. - - The description of the branch. - - - - Adds an example of how to use the branch. - - The example arguments. - - - - Represents an unsafe configurator. - - - - - Adds a command. - - The name of the command. - The command type. - A command configurator that can be used to configure the command further. - - - - Adds a command branch. - - The name of the command branch. - The command setting type. - The command branch configurator. - - - - Contains unsafe extensions for . - - - - - Gets an that allows - composition of commands without type safety. - - The configurator. - An . - - - - Converts an to - a configurator with type safety. - - The configurator. - An . - - - - Gets an that allows - composition of commands without type safety. - - The command settings. - The configurator. - An . - - - - Converts an to - a configurator with type safety. - - The command settings. - The configurator. - An . - - - - Represents a color. - - - Represents a color. - - - - - Gets the default color. - - - - - Gets the red component. - - - - - Gets the green component. - - - - - Gets the blue component. - - - - - Gets the number of the color, if any. - - - - - Gets a value indicating whether or not this is the default color. - - - - - Initializes a new instance of the struct. - - The red component. - The green component. - The blue component. - - - - Blends two colors. - - The other color. - The blend factor. - The resulting color. - - - - Gets the hexadecimal representation of the color. - - The hexadecimal representation of the color. - - - - - - - - - - - - - Checks if two instances are equal. - - The first color instance to compare. - The second color instance to compare. - true if the two colors are equal, otherwise false. - - - - Checks if two instances are not equal. - - The first color instance to compare. - The second color instance to compare. - true if the two colors are not equal, otherwise false. - - - - Converts a to a . - - The color number to convert. - - - - Converts a to a . - - The color to convert. - - - - Converts a to a . - - The console color to convert. - - - - Converts a to a . - - The color to convert. - A representing the . - - - - Converts a color number into a . - - The color number. - The color representing the specified color number. - - - - Converts a to a . - - The color to convert. - A representing the . - - - - Converts the color to a markup string. - - A representing the color as markup. - - - - - - - Gets the color "Black" (RGB 0,0,0). - - - - - Gets the color "Maroon" (RGB 128,0,0). - - - - - Gets the color "Green" (RGB 0,128,0). - - - - - Gets the color "Olive" (RGB 128,128,0). - - - - - Gets the color "Navy" (RGB 0,0,128). - - - - - Gets the color "Purple" (RGB 128,0,128). - - - - - Gets the color "Teal" (RGB 0,128,128). - - - - - Gets the color "Silver" (RGB 192,192,192). - - - - - Gets the color "Grey" (RGB 128,128,128). - - - - - Gets the color "Red" (RGB 255,0,0). - - - - - Gets the color "Lime" (RGB 0,255,0). - - - - - Gets the color "Yellow" (RGB 255,255,0). - - - - - Gets the color "Blue" (RGB 0,0,255). - - - - - Gets the color "Fuchsia" (RGB 255,0,255). - - - - - Gets the color "Aqua" (RGB 0,255,255). - - - - - Gets the color "White" (RGB 255,255,255). - - - - - Gets the color "Grey0" (RGB 0,0,0). - - - - - Gets the color "NavyBlue" (RGB 0,0,95). - - - - - Gets the color "DarkBlue" (RGB 0,0,135). - - - - - Gets the color "Blue3" (RGB 0,0,175). - - - - - Gets the color "Blue3_1" (RGB 0,0,215). - - - - - Gets the color "Blue1" (RGB 0,0,255). - - - - - Gets the color "DarkGreen" (RGB 0,95,0). - - - - - Gets the color "DeepSkyBlue4" (RGB 0,95,95). - - - - - Gets the color "DeepSkyBlue4_1" (RGB 0,95,135). - - - - - Gets the color "DeepSkyBlue4_2" (RGB 0,95,175). - - - - - Gets the color "DodgerBlue3" (RGB 0,95,215). - - - - - Gets the color "DodgerBlue2" (RGB 0,95,255). - - - - - Gets the color "Green4" (RGB 0,135,0). - - - - - Gets the color "SpringGreen4" (RGB 0,135,95). - - - - - Gets the color "Turquoise4" (RGB 0,135,135). - - - - - Gets the color "DeepSkyBlue3" (RGB 0,135,175). - - - - - Gets the color "DeepSkyBlue3_1" (RGB 0,135,215). - - - - - Gets the color "DodgerBlue1" (RGB 0,135,255). - - - - - Gets the color "Green3" (RGB 0,175,0). - - - - - Gets the color "SpringGreen3" (RGB 0,175,95). - - - - - Gets the color "DarkCyan" (RGB 0,175,135). - - - - - Gets the color "LightSeaGreen" (RGB 0,175,175). - - - - - Gets the color "DeepSkyBlue2" (RGB 0,175,215). - - - - - Gets the color "DeepSkyBlue1" (RGB 0,175,255). - - - - - Gets the color "Green3_1" (RGB 0,215,0). - - - - - Gets the color "SpringGreen3_1" (RGB 0,215,95). - - - - - Gets the color "SpringGreen2" (RGB 0,215,135). - - - - - Gets the color "Cyan3" (RGB 0,215,175). - - - - - Gets the color "DarkTurquoise" (RGB 0,215,215). - - - - - Gets the color "Turquoise2" (RGB 0,215,255). - - - - - Gets the color "Green1" (RGB 0,255,0). - - - - - Gets the color "SpringGreen2_1" (RGB 0,255,95). - - - - - Gets the color "SpringGreen1" (RGB 0,255,135). - - - - - Gets the color "MediumSpringGreen" (RGB 0,255,175). - - - - - Gets the color "Cyan2" (RGB 0,255,215). - - - - - Gets the color "Cyan1" (RGB 0,255,255). - - - - - Gets the color "DarkRed" (RGB 95,0,0). - - - - - Gets the color "DeepPink4" (RGB 95,0,95). - - - - - Gets the color "Purple4" (RGB 95,0,135). - - - - - Gets the color "Purple4_1" (RGB 95,0,175). - - - - - Gets the color "Purple3" (RGB 95,0,215). - - - - - Gets the color "BlueViolet" (RGB 95,0,255). - - - - - Gets the color "Orange4" (RGB 95,95,0). - - - - - Gets the color "Grey37" (RGB 95,95,95). - - - - - Gets the color "MediumPurple4" (RGB 95,95,135). - - - - - Gets the color "SlateBlue3" (RGB 95,95,175). - - - - - Gets the color "SlateBlue3_1" (RGB 95,95,215). - - - - - Gets the color "RoyalBlue1" (RGB 95,95,255). - - - - - Gets the color "Chartreuse4" (RGB 95,135,0). - - - - - Gets the color "DarkSeaGreen4" (RGB 95,135,95). - - - - - Gets the color "PaleTurquoise4" (RGB 95,135,135). - - - - - Gets the color "SteelBlue" (RGB 95,135,175). - - - - - Gets the color "SteelBlue3" (RGB 95,135,215). - - - - - Gets the color "CornflowerBlue" (RGB 95,135,255). - - - - - Gets the color "Chartreuse3" (RGB 95,175,0). - - - - - Gets the color "DarkSeaGreen4_1" (RGB 95,175,95). - - - - - Gets the color "CadetBlue" (RGB 95,175,135). - - - - - Gets the color "CadetBlue_1" (RGB 95,175,175). - - - - - Gets the color "SkyBlue3" (RGB 95,175,215). - - - - - Gets the color "SteelBlue1" (RGB 95,175,255). - - - - - Gets the color "Chartreuse3_1" (RGB 95,215,0). - - - - - Gets the color "PaleGreen3" (RGB 95,215,95). - - - - - Gets the color "SeaGreen3" (RGB 95,215,135). - - - - - Gets the color "Aquamarine3" (RGB 95,215,175). - - - - - Gets the color "MediumTurquoise" (RGB 95,215,215). - - - - - Gets the color "SteelBlue1_1" (RGB 95,215,255). - - - - - Gets the color "Chartreuse2" (RGB 95,255,0). - - - - - Gets the color "SeaGreen2" (RGB 95,255,95). - - - - - Gets the color "SeaGreen1" (RGB 95,255,135). - - - - - Gets the color "SeaGreen1_1" (RGB 95,255,175). - - - - - Gets the color "Aquamarine1" (RGB 95,255,215). - - - - - Gets the color "DarkSlateGray2" (RGB 95,255,255). - - - - - Gets the color "DarkRed_1" (RGB 135,0,0). - - - - - Gets the color "DeepPink4_1" (RGB 135,0,95). - - - - - Gets the color "DarkMagenta" (RGB 135,0,135). - - - - - Gets the color "DarkMagenta_1" (RGB 135,0,175). - - - - - Gets the color "DarkViolet" (RGB 135,0,215). - - - - - Gets the color "Purple_1" (RGB 135,0,255). - - - - - Gets the color "Orange4_1" (RGB 135,95,0). - - - - - Gets the color "LightPink4" (RGB 135,95,95). - - - - - Gets the color "Plum4" (RGB 135,95,135). - - - - - Gets the color "MediumPurple3" (RGB 135,95,175). - - - - - Gets the color "MediumPurple3_1" (RGB 135,95,215). - - - - - Gets the color "SlateBlue1" (RGB 135,95,255). - - - - - Gets the color "Yellow4" (RGB 135,135,0). - - - - - Gets the color "Wheat4" (RGB 135,135,95). - - - - - Gets the color "Grey53" (RGB 135,135,135). - - - - - Gets the color "LightSlateGrey" (RGB 135,135,175). - - - - - Gets the color "MediumPurple" (RGB 135,135,215). - - - - - Gets the color "LightSlateBlue" (RGB 135,135,255). - - - - - Gets the color "Yellow4_1" (RGB 135,175,0). - - - - - Gets the color "DarkOliveGreen3" (RGB 135,175,95). - - - - - Gets the color "DarkSeaGreen" (RGB 135,175,135). - - - - - Gets the color "LightSkyBlue3" (RGB 135,175,175). - - - - - Gets the color "LightSkyBlue3_1" (RGB 135,175,215). - - - - - Gets the color "SkyBlue2" (RGB 135,175,255). - - - - - Gets the color "Chartreuse2_1" (RGB 135,215,0). - - - - - Gets the color "DarkOliveGreen3_1" (RGB 135,215,95). - - - - - Gets the color "PaleGreen3_1" (RGB 135,215,135). - - - - - Gets the color "DarkSeaGreen3" (RGB 135,215,175). - - - - - Gets the color "DarkSlateGray3" (RGB 135,215,215). - - - - - Gets the color "SkyBlue1" (RGB 135,215,255). - - - - - Gets the color "Chartreuse1" (RGB 135,255,0). - - - - - Gets the color "LightGreen" (RGB 135,255,95). - - - - - Gets the color "LightGreen_1" (RGB 135,255,135). - - - - - Gets the color "PaleGreen1" (RGB 135,255,175). - - - - - Gets the color "Aquamarine1_1" (RGB 135,255,215). - - - - - Gets the color "DarkSlateGray1" (RGB 135,255,255). - - - - - Gets the color "Red3" (RGB 175,0,0). - - - - - Gets the color "DeepPink4_2" (RGB 175,0,95). - - - - - Gets the color "MediumVioletRed" (RGB 175,0,135). - - - - - Gets the color "Magenta3" (RGB 175,0,175). - - - - - Gets the color "DarkViolet_1" (RGB 175,0,215). - - - - - Gets the color "Purple_2" (RGB 175,0,255). - - - - - Gets the color "DarkOrange3" (RGB 175,95,0). - - - - - Gets the color "IndianRed" (RGB 175,95,95). - - - - - Gets the color "HotPink3" (RGB 175,95,135). - - - - - Gets the color "MediumOrchid3" (RGB 175,95,175). - - - - - Gets the color "MediumOrchid" (RGB 175,95,215). - - - - - Gets the color "MediumPurple2" (RGB 175,95,255). - - - - - Gets the color "DarkGoldenrod" (RGB 175,135,0). - - - - - Gets the color "LightSalmon3" (RGB 175,135,95). - - - - - Gets the color "RosyBrown" (RGB 175,135,135). - - - - - Gets the color "Grey63" (RGB 175,135,175). - - - - - Gets the color "MediumPurple2_1" (RGB 175,135,215). - - - - - Gets the color "MediumPurple1" (RGB 175,135,255). - - - - - Gets the color "Gold3" (RGB 175,175,0). - - - - - Gets the color "DarkKhaki" (RGB 175,175,95). - - - - - Gets the color "NavajoWhite3" (RGB 175,175,135). - - - - - Gets the color "Grey69" (RGB 175,175,175). - - - - - Gets the color "LightSteelBlue3" (RGB 175,175,215). - - - - - Gets the color "LightSteelBlue" (RGB 175,175,255). - - - - - Gets the color "Yellow3" (RGB 175,215,0). - - - - - Gets the color "DarkOliveGreen3_2" (RGB 175,215,95). - - - - - Gets the color "DarkSeaGreen3_1" (RGB 175,215,135). - - - - - Gets the color "DarkSeaGreen2" (RGB 175,215,175). - - - - - Gets the color "LightCyan3" (RGB 175,215,215). - - - - - Gets the color "LightSkyBlue1" (RGB 175,215,255). - - - - - Gets the color "GreenYellow" (RGB 175,255,0). - - - - - Gets the color "DarkOliveGreen2" (RGB 175,255,95). - - - - - Gets the color "PaleGreen1_1" (RGB 175,255,135). - - - - - Gets the color "DarkSeaGreen2_1" (RGB 175,255,175). - - - - - Gets the color "DarkSeaGreen1" (RGB 175,255,215). - - - - - Gets the color "PaleTurquoise1" (RGB 175,255,255). - - - - - Gets the color "Red3_1" (RGB 215,0,0). - - - - - Gets the color "DeepPink3" (RGB 215,0,95). - - - - - Gets the color "DeepPink3_1" (RGB 215,0,135). - - - - - Gets the color "Magenta3_1" (RGB 215,0,175). - - - - - Gets the color "Magenta3_2" (RGB 215,0,215). - - - - - Gets the color "Magenta2" (RGB 215,0,255). - - - - - Gets the color "DarkOrange3_1" (RGB 215,95,0). - - - - - Gets the color "IndianRed_1" (RGB 215,95,95). - - - - - Gets the color "HotPink3_1" (RGB 215,95,135). - - - - - Gets the color "HotPink2" (RGB 215,95,175). - - - - - Gets the color "Orchid" (RGB 215,95,215). - - - - - Gets the color "MediumOrchid1" (RGB 215,95,255). - - - - - Gets the color "Orange3" (RGB 215,135,0). - - - - - Gets the color "LightSalmon3_1" (RGB 215,135,95). - - - - - Gets the color "LightPink3" (RGB 215,135,135). - - - - - Gets the color "Pink3" (RGB 215,135,175). - - - - - Gets the color "Plum3" (RGB 215,135,215). - - - - - Gets the color "Violet" (RGB 215,135,255). - - - - - Gets the color "Gold3_1" (RGB 215,175,0). - - - - - Gets the color "LightGoldenrod3" (RGB 215,175,95). - - - - - Gets the color "Tan" (RGB 215,175,135). - - - - - Gets the color "MistyRose3" (RGB 215,175,175). - - - - - Gets the color "Thistle3" (RGB 215,175,215). - - - - - Gets the color "Plum2" (RGB 215,175,255). - - - - - Gets the color "Yellow3_1" (RGB 215,215,0). - - - - - Gets the color "Khaki3" (RGB 215,215,95). - - - - - Gets the color "LightGoldenrod2" (RGB 215,215,135). - - - - - Gets the color "LightYellow3" (RGB 215,215,175). - - - - - Gets the color "Grey84" (RGB 215,215,215). - - - - - Gets the color "LightSteelBlue1" (RGB 215,215,255). - - - - - Gets the color "Yellow2" (RGB 215,255,0). - - - - - Gets the color "DarkOliveGreen1" (RGB 215,255,95). - - - - - Gets the color "DarkOliveGreen1_1" (RGB 215,255,135). - - - - - Gets the color "DarkSeaGreen1_1" (RGB 215,255,175). - - - - - Gets the color "Honeydew2" (RGB 215,255,215). - - - - - Gets the color "LightCyan1" (RGB 215,255,255). - - - - - Gets the color "Red1" (RGB 255,0,0). - - - - - Gets the color "DeepPink2" (RGB 255,0,95). - - - - - Gets the color "DeepPink1" (RGB 255,0,135). - - - - - Gets the color "DeepPink1_1" (RGB 255,0,175). - - - - - Gets the color "Magenta2_1" (RGB 255,0,215). - - - - - Gets the color "Magenta1" (RGB 255,0,255). - - - - - Gets the color "OrangeRed1" (RGB 255,95,0). - - - - - Gets the color "IndianRed1" (RGB 255,95,95). - - - - - Gets the color "IndianRed1_1" (RGB 255,95,135). - - - - - Gets the color "HotPink" (RGB 255,95,175). - - - - - Gets the color "HotPink_1" (RGB 255,95,215). - - - - - Gets the color "MediumOrchid1_1" (RGB 255,95,255). - - - - - Gets the color "DarkOrange" (RGB 255,135,0). - - - - - Gets the color "Salmon1" (RGB 255,135,95). - - - - - Gets the color "LightCoral" (RGB 255,135,135). - - - - - Gets the color "PaleVioletRed1" (RGB 255,135,175). - - - - - Gets the color "Orchid2" (RGB 255,135,215). - - - - - Gets the color "Orchid1" (RGB 255,135,255). - - - - - Gets the color "Orange1" (RGB 255,175,0). - - - - - Gets the color "SandyBrown" (RGB 255,175,95). - - - - - Gets the color "LightSalmon1" (RGB 255,175,135). - - - - - Gets the color "LightPink1" (RGB 255,175,175). - - - - - Gets the color "Pink1" (RGB 255,175,215). - - - - - Gets the color "Plum1" (RGB 255,175,255). - - - - - Gets the color "Gold1" (RGB 255,215,0). - - - - - Gets the color "LightGoldenrod2_1" (RGB 255,215,95). - - - - - Gets the color "LightGoldenrod2_2" (RGB 255,215,135). - - - - - Gets the color "NavajoWhite1" (RGB 255,215,175). - - - - - Gets the color "MistyRose1" (RGB 255,215,215). - - - - - Gets the color "Thistle1" (RGB 255,215,255). - - - - - Gets the color "Yellow1" (RGB 255,255,0). - - - - - Gets the color "LightGoldenrod1" (RGB 255,255,95). - - - - - Gets the color "Khaki1" (RGB 255,255,135). - - - - - Gets the color "Wheat1" (RGB 255,255,175). - - - - - Gets the color "Cornsilk1" (RGB 255,255,215). - - - - - Gets the color "Grey100" (RGB 255,255,255). - - - - - Gets the color "Grey3" (RGB 8,8,8). - - - - - Gets the color "Grey7" (RGB 18,18,18). - - - - - Gets the color "Grey11" (RGB 28,28,28). - - - - - Gets the color "Grey15" (RGB 38,38,38). - - - - - Gets the color "Grey19" (RGB 48,48,48). - - - - - Gets the color "Grey23" (RGB 58,58,58). - - - - - Gets the color "Grey27" (RGB 68,68,68). - - - - - Gets the color "Grey30" (RGB 78,78,78). - - - - - Gets the color "Grey35" (RGB 88,88,88). - - - - - Gets the color "Grey39" (RGB 98,98,98). - - - - - Gets the color "Grey42" (RGB 108,108,108). - - - - - Gets the color "Grey46" (RGB 118,118,118). - - - - - Gets the color "Grey50" (RGB 128,128,128). - - - - - Gets the color "Grey54" (RGB 138,138,138). - - - - - Gets the color "Grey58" (RGB 148,148,148). - - - - - Gets the color "Grey62" (RGB 158,158,158). - - - - - Gets the color "Grey66" (RGB 168,168,168). - - - - - Gets the color "Grey70" (RGB 178,178,178). - - - - - Gets the color "Grey74" (RGB 188,188,188). - - - - - Gets the color "Grey78" (RGB 198,198,198). - - - - - Gets the color "Grey82" (RGB 208,208,208). - - - - - Gets the color "Grey85" (RGB 218,218,218). - - - - - Gets the color "Grey89" (RGB 228,228,228). - - - - - Gets the color "Grey93" (RGB 238,238,238). - - - - - Represents a color system. - - - - - No colors. - - - - - Legacy, 3-bit mode. - - - - - Standard, 4-bit mode. - - - - - 8-bit mode. - - - - - 24-bit mode. - - - - - Determines what color system should be used. - - - - - Try to detect the color system. - - - - - No colors. - - - - - Legacy, 3-bit mode. - - - - - Standard, 4-bit mode. - - - - - 8-bit mode. - - - - - 24-bit mode. - - - - - Represents cursor direction. - - - - - Moves cursor up. - - - - - Moves cursor down. - - - - - Moves cursor left. - - - - - Moves cursor right. - - - - - Represents text decoration. - - - Support for text decorations is up to the terminal. - - - - - No text decoration. - - - - - Bold text. - Not supported in every environment. - - - - - Dim or faint text. - Not supported in every environment. - - - - - Italic text. - Not supported in every environment. - - - - - Underlined text. - Not supported in every environment. - - - - - Swaps the foreground and background colors. - Not supported in every environment. - - - - - Hides the text. - Not supported in every environment. - - - - - Makes text blink. - Normally less than 150 blinks per minute. - Not supported in every environment. - - - - - Makes text blink. - Normally more than 150 blinks per minute. - Not supported in every environment. - - - - - Shows text with a horizontal line through the center. - Not supported in every environment. - - - - - Utility for working with emojis. - - - Utility for working with emojis. - - - - - Remaps a specific emoji tag with a new emoji. - - The emoji tag. - The emoji. - - - - Replaces emoji markup with corresponding unicode characters. - - A string with emojis codes, e.g. "Hello :smiley:!". - A string with emoji codes replaced with actual emoji. - - - - Contains all predefined emojis. - - - - - Gets the "abacus" emoji. - Description: Abacus. - - - - - Gets the "ab_button_blood_type" emoji. - Description: AB button blood type. - - - - - Gets the "a_button_blood_type" emoji. - Description: A button blood type. - - - - - Gets the "accordion" emoji. - Description: Accordion. - - - - - Gets the "adhesive_bandage" emoji. - Description: Adhesive bandage. - - - - - Gets the "admission_tickets" emoji. - Description: Admission tickets. - - - - - Gets the "aerial_tramway" emoji. - Description: Aerial tramway. - - - - - Gets the "airplane" emoji. - Description: Airplane. - - - - - Gets the "airplane_arrival" emoji. - Description: Airplane arrival. - - - - - Gets the "airplane_departure" emoji. - Description: Airplane departure. - - - - - Gets the "alarm_clock" emoji. - Description: Alarm clock. - - - - - Gets the "alembic" emoji. - Description: Alembic. - - - - - Gets the "alien" emoji. - Description: Alien. - - - - - Gets the "alien_monster" emoji. - Description: Alien monster. - - - - - Gets the "ambulance" emoji. - Description: Ambulance. - - - - - Gets the "american_football" emoji. - Description: American football. - - - - - Gets the "amphora" emoji. - Description: Amphora. - - - - - Gets the "anatomical_heart" emoji. - Description: Anatomical heart. - - - - - Gets the "anchor" emoji. - Description: Anchor. - - - - - Gets the "anger_symbol" emoji. - Description: Anger symbol. - - - - - Gets the "angry_face" emoji. - Description: Angry face. - - - - - Gets the "angry_face_with_horns" emoji. - Description: Angry face with horns. - - - - - Gets the "anguished_face" emoji. - Description: Anguished face. - - - - - Gets the "ant" emoji. - Description: Ant. - - - - - Gets the "antenna_bars" emoji. - Description: Antenna bars. - - - - - Gets the "anxious_face_with_sweat" emoji. - Description: Anxious face with sweat. - - - - - Gets the "aquarius" emoji. - Description: Aquarius. - - - - - Gets the "aries" emoji. - Description: Aries. - - - - - Gets the "articulated_lorry" emoji. - Description: Articulated lorry. - - - - - Gets the "artist_palette" emoji. - Description: Artist palette. - - - - - Gets the "astonished_face" emoji. - Description: Astonished face. - - - - - Gets the "atm_sign" emoji. - Description: ATM sign. - - - - - Gets the "atom_symbol" emoji. - Description: Atom symbol. - - - - - Gets the "automobile" emoji. - Description: Automobile. - - - - - Gets the "auto_rickshaw" emoji. - Description: Auto rickshaw. - - - - - Gets the "avocado" emoji. - Description: Avocado. - - - - - Gets the "axe" emoji. - Description: Axe. - - - - - Gets the "baby" emoji. - Description: Baby. - - - - - Gets the "baby_angel" emoji. - Description: Baby angel. - - - - - Gets the "baby_bottle" emoji. - Description: Baby bottle. - - - - - Gets the "baby_chick" emoji. - Description: Baby chick. - - - - - Gets the "baby_symbol" emoji. - Description: Baby symbol. - - - - - Gets the "back_arrow" emoji. - Description: BACK arrow. - - - - - Gets the "backhand_index_pointing_down" emoji. - Description: Backhand index pointing down. - - - - - Gets the "backhand_index_pointing_left" emoji. - Description: Backhand index pointing left. - - - - - Gets the "backhand_index_pointing_right" emoji. - Description: Backhand index pointing right. - - - - - Gets the "backhand_index_pointing_up" emoji. - Description: Backhand index pointing up. - - - - - Gets the "backpack" emoji. - Description: Backpack. - - - - - Gets the "bacon" emoji. - Description: Bacon. - - - - - Gets the "badger" emoji. - Description: Badger. - - - - - Gets the "badminton" emoji. - Description: Badminton. - - - - - Gets the "bagel" emoji. - Description: Bagel. - - - - - Gets the "baggage_claim" emoji. - Description: Baggage claim. - - - - - Gets the "baguette_bread" emoji. - Description: Baguette bread. - - - - - Gets the "balance_scale" emoji. - Description: Balance scale. - - - - - Gets the "bald" emoji. - Description: Bald. - - - - - Gets the "ballet_shoes" emoji. - Description: Ballet shoes. - - - - - Gets the "balloon" emoji. - Description: Balloon. - - - - - Gets the "ballot_box_with_ballot" emoji. - Description: Ballot box with ballot. - - - - - Gets the "banana" emoji. - Description: Banana. - - - - - Gets the "banjo" emoji. - Description: Banjo. - - - - - Gets the "bank" emoji. - Description: Bank. - - - - - Gets the "barber_pole" emoji. - Description: Barber pole. - - - - - Gets the "bar_chart" emoji. - Description: Bar chart. - - - - - Gets the "baseball" emoji. - Description: Baseball. - - - - - Gets the "basket" emoji. - Description: Basket. - - - - - Gets the "basketball" emoji. - Description: Basketball. - - - - - Gets the "bat" emoji. - Description: Bat. - - - - - Gets the "bathtub" emoji. - Description: Bathtub. - - - - - Gets the "battery" emoji. - Description: Battery. - - - - - Gets the "b_button_blood_type" emoji. - Description: B button blood type. - - - - - Gets the "beach_with_umbrella" emoji. - Description: Beach with umbrella. - - - - - Gets the "beaming_face_with_smiling_eyes" emoji. - Description: Beaming face with smiling eyes. - - - - - Gets the "bear" emoji. - Description: Bear. - - - - - Gets the "beating_heart" emoji. - Description: Beating heart. - - - - - Gets the "beaver" emoji. - Description: Beaver. - - - - - Gets the "bed" emoji. - Description: Bed. - - - - - Gets the "beer_mug" emoji. - Description: Beer mug. - - - - - Gets the "beetle" emoji. - Description: Beetle. - - - - - Gets the "bell" emoji. - Description: Bell. - - - - - Gets the "bellhop_bell" emoji. - Description: Bellhop bell. - - - - - Gets the "bell_pepper" emoji. - Description: Bell pepper. - - - - - Gets the "bell_with_slash" emoji. - Description: Bell with slash. - - - - - Gets the "bento_box" emoji. - Description: Bento box. - - - - - Gets the "beverage_box" emoji. - Description: Beverage box. - - - - - Gets the "bicycle" emoji. - Description: Bicycle. - - - - - Gets the "bikini" emoji. - Description: Bikini. - - - - - Gets the "billed_cap" emoji. - Description: Billed cap. - - - - - Gets the "biohazard" emoji. - Description: Biohazard. - - - - - Gets the "bird" emoji. - Description: Bird. - - - - - Gets the "birthday_cake" emoji. - Description: Birthday cake. - - - - - Gets the "bison" emoji. - Description: Bison. - - - - - Gets the "black_circle" emoji. - Description: Black circle. - - - - - Gets the "black_flag" emoji. - Description: Black flag. - - - - - Gets the "black_heart" emoji. - Description: Black heart. - - - - - Gets the "black_large_square" emoji. - Description: Black large square. - - - - - Gets the "black_medium_small_square" emoji. - Description: black medium small square. - - - - - Gets the "black_medium_square" emoji. - Description: Black medium square. - - - - - Gets the "black_nib" emoji. - Description: Black nib. - - - - - Gets the "black_small_square" emoji. - Description: Black small square. - - - - - Gets the "black_square_button" emoji. - Description: Black square button. - - - - - Gets the "blossom" emoji. - Description: Blossom. - - - - - Gets the "blowfish" emoji. - Description: Blowfish. - - - - - Gets the "blueberries" emoji. - Description: Blueberries. - - - - - Gets the "blue_book" emoji. - Description: Blue book. - - - - - Gets the "blue_circle" emoji. - Description: Blue circle. - - - - - Gets the "blue_heart" emoji. - Description: Blue heart. - - - - - Gets the "blue_square" emoji. - Description: Blue square. - - - - - Gets the "boar" emoji. - Description: Boar. - - - - - Gets the "bomb" emoji. - Description: Bomb. - - - - - Gets the "bone" emoji. - Description: Bone. - - - - - Gets the "bookmark" emoji. - Description: Bookmark. - - - - - Gets the "bookmark_tabs" emoji. - Description: Bookmark tabs. - - - - - Gets the "books" emoji. - Description: Books. - - - - - Gets the "boomerang" emoji. - Description: Boomerang. - - - - - Gets the "bottle_with_popping_cork" emoji. - Description: Bottle with popping cork. - - - - - Gets the "bouquet" emoji. - Description: Bouquet. - - - - - Gets the "bow_and_arrow" emoji. - Description: Bow and arrow. - - - - - Gets the "bowling" emoji. - Description: Bowling. - - - - - Gets the "bowl_with_spoon" emoji. - Description: Bowl with spoon. - - - - - Gets the "boxing_glove" emoji. - Description: Boxing glove. - - - - - Gets the "boy" emoji. - Description: Boy. - - - - - Gets the "brain" emoji. - Description: Brain. - - - - - Gets the "bread" emoji. - Description: Bread. - - - - - Gets the "breast_feeding" emoji. - Description: breast feeding. - - - - - Gets the "brick" emoji. - Description: Brick. - - - - - Gets the "bridge_at_night" emoji. - Description: Bridge at night. - - - - - Gets the "briefcase" emoji. - Description: Briefcase. - - - - - Gets the "briefs" emoji. - Description: Briefs. - - - - - Gets the "bright_button" emoji. - Description: Bright button. - - - - - Gets the "broccoli" emoji. - Description: Broccoli. - - - - - Gets the "broken_heart" emoji. - Description: Broken heart. - - - - - Gets the "broom" emoji. - Description: Broom. - - - - - Gets the "brown_circle" emoji. - Description: Brown circle. - - - - - Gets the "brown_heart" emoji. - Description: Brown heart. - - - - - Gets the "brown_square" emoji. - Description: Brown square. - - - - - Gets the "bubble_tea" emoji. - Description: Bubble tea. - - - - - Gets the "bucket" emoji. - Description: Bucket. - - - - - Gets the "bug" emoji. - Description: Bug. - - - - - Gets the "building_construction" emoji. - Description: Building construction. - - - - - Gets the "bullet_train" emoji. - Description: Bullet train. - - - - - Gets the "bullseye" emoji. - Description: Bullseye. - - - - - Gets the "burrito" emoji. - Description: Burrito. - - - - - Gets the "bus" emoji. - Description: Bus. - - - - - Gets the "bus_stop" emoji. - Description: Bus stop. - - - - - Gets the "bust_in_silhouette" emoji. - Description: Bust in silhouette. - - - - - Gets the "busts_in_silhouette" emoji. - Description: Busts in silhouette. - - - - - Gets the "butter" emoji. - Description: Butter. - - - - - Gets the "butterfly" emoji. - Description: Butterfly. - - - - - Gets the "cactus" emoji. - Description: Cactus. - - - - - Gets the "calendar" emoji. - Description: Calendar. - - - - - Gets the "call_me_hand" emoji. - Description: Call me hand. - - - - - Gets the "camel" emoji. - Description: Camel. - - - - - Gets the "camera" emoji. - Description: Camera. - - - - - Gets the "camera_with_flash" emoji. - Description: Camera with flash. - - - - - Gets the "camping" emoji. - Description: Camping. - - - - - Gets the "cancer" emoji. - Description: Cancer. - - - - - Gets the "candle" emoji. - Description: Candle. - - - - - Gets the "candy" emoji. - Description: Candy. - - - - - Gets the "canned_food" emoji. - Description: Canned food. - - - - - Gets the "canoe" emoji. - Description: Canoe. - - - - - Gets the "capricorn" emoji. - Description: Capricorn. - - - - - Gets the "card_file_box" emoji. - Description: Card file box. - - - - - Gets the "card_index" emoji. - Description: Card index. - - - - - Gets the "card_index_dividers" emoji. - Description: Card index dividers. - - - - - Gets the "carousel_horse" emoji. - Description: Carousel horse. - - - - - Gets the "carpentry_saw" emoji. - Description: Carpentry saw. - - - - - Gets the "carp_streamer" emoji. - Description: Carp streamer. - - - - - Gets the "carrot" emoji. - Description: Carrot. - - - - - Gets the "castle" emoji. - Description: Castle. - - - - - Gets the "cat" emoji. - Description: Cat. - - - - - Gets the "cat_face" emoji. - Description: Cat face. - - - - - Gets the "cat_with_tears_of_joy" emoji. - Description: Cat with tears of joy. - - - - - Gets the "cat_with_wry_smile" emoji. - Description: Cat with wry smile. - - - - - Gets the "chains" emoji. - Description: Chains. - - - - - Gets the "chair" emoji. - Description: Chair. - - - - - Gets the "chart_decreasing" emoji. - Description: Chart decreasing. - - - - - Gets the "chart_increasing" emoji. - Description: Chart increasing. - - - - - Gets the "chart_increasing_with_yen" emoji. - Description: Chart increasing with yen. - - - - - Gets the "check_box_with_check" emoji. - Description: Check box with check. - - - - - Gets the "check_mark" emoji. - Description: Check mark. - - - - - Gets the "check_mark_button" emoji. - Description: Check mark button. - - - - - Gets the "cheese_wedge" emoji. - Description: Cheese wedge. - - - - - Gets the "chequered_flag" emoji. - Description: Chequered flag. - - - - - Gets the "cherries" emoji. - Description: Cherries. - - - - - Gets the "cherry_blossom" emoji. - Description: Cherry blossom. - - - - - Gets the "chess_pawn" emoji. - Description: Chess pawn. - - - - - Gets the "chestnut" emoji. - Description: Chestnut. - - - - - Gets the "chicken" emoji. - Description: Chicken. - - - - - Gets the "child" emoji. - Description: Child. - - - - - Gets the "children_crossing" emoji. - Description: Children crossing. - - - - - Gets the "chipmunk" emoji. - Description: Chipmunk. - - - - - Gets the "chocolate_bar" emoji. - Description: Chocolate bar. - - - - - Gets the "chopsticks" emoji. - Description: Chopsticks. - - - - - Gets the "christmas_tree" emoji. - Description: Christmas tree. - - - - - Gets the "church" emoji. - Description: Church. - - - - - Gets the "cigarette" emoji. - Description: Cigarette. - - - - - Gets the "cinema" emoji. - Description: Cinema. - - - - - Gets the "circled_m" emoji. - Description: Circled M. - - - - - Gets the "circus_tent" emoji. - Description: Circus tent. - - - - - Gets the "cityscape" emoji. - Description: Cityscape. - - - - - Gets the "cityscape_at_dusk" emoji. - Description: Cityscape at dusk. - - - - - Gets the "clamp" emoji. - Description: Clamp. - - - - - Gets the "clapper_board" emoji. - Description: Clapper board. - - - - - Gets the "clapping_hands" emoji. - Description: Clapping hands. - - - - - Gets the "classical_building" emoji. - Description: Classical building. - - - - - Gets the "cl_button" emoji. - Description: CL button. - - - - - Gets the "clinking_beer_mugs" emoji. - Description: Clinking beer mugs. - - - - - Gets the "clinking_glasses" emoji. - Description: Clinking glasses. - - - - - Gets the "clipboard" emoji. - Description: Clipboard. - - - - - Gets the "clockwise_vertical_arrows" emoji. - Description: Clockwise vertical arrows. - - - - - Gets the "closed_book" emoji. - Description: Closed book. - - - - - Gets the "closed_mailbox_with_lowered_flag" emoji. - Description: Closed mailbox with lowered flag. - - - - - Gets the "closed_mailbox_with_raised_flag" emoji. - Description: Closed mailbox with raised flag. - - - - - Gets the "closed_umbrella" emoji. - Description: Closed umbrella. - - - - - Gets the "cloud" emoji. - Description: Cloud. - - - - - Gets the "cloud_with_lightning" emoji. - Description: Cloud with lightning. - - - - - Gets the "cloud_with_lightning_and_rain" emoji. - Description: Cloud with lightning and rain. - - - - - Gets the "cloud_with_rain" emoji. - Description: Cloud with rain. - - - - - Gets the "cloud_with_snow" emoji. - Description: Cloud with snow. - - - - - Gets the "clown_face" emoji. - Description: Clown face. - - - - - Gets the "club_suit" emoji. - Description: Club suit. - - - - - Gets the "clutch_bag" emoji. - Description: Clutch bag. - - - - - Gets the "coat" emoji. - Description: Coat. - - - - - Gets the "cockroach" emoji. - Description: Cockroach. - - - - - Gets the "cocktail_glass" emoji. - Description: Cocktail glass. - - - - - Gets the "coconut" emoji. - Description: Coconut. - - - - - Gets the "coffin" emoji. - Description: Coffin. - - - - - Gets the "coin" emoji. - Description: Coin. - - - - - Gets the "cold_face" emoji. - Description: Cold face. - - - - - Gets the "collision" emoji. - Description: Collision. - - - - - Gets the "comet" emoji. - Description: Comet. - - - - - Gets the "compass" emoji. - Description: Compass. - - - - - Gets the "computer_disk" emoji. - Description: Computer disk. - - - - - Gets the "computer_mouse" emoji. - Description: Computer mouse. - - - - - Gets the "confetti_ball" emoji. - Description: Confetti ball. - - - - - Gets the "confounded_face" emoji. - Description: Confounded face. - - - - - Gets the "confused_face" emoji. - Description: Confused face. - - - - - Gets the "construction" emoji. - Description: Construction. - - - - - Gets the "construction_worker" emoji. - Description: Construction worker. - - - - - Gets the "control_knobs" emoji. - Description: Control knobs. - - - - - Gets the "convenience_store" emoji. - Description: Convenience store. - - - - - Gets the "cooked_rice" emoji. - Description: Cooked rice. - - - - - Gets the "cookie" emoji. - Description: Cookie. - - - - - Gets the "cooking" emoji. - Description: Cooking. - - - - - Gets the "cool_button" emoji. - Description: COOL button. - - - - - Gets the "copyright" emoji. - Description: Copyright. - - - - - Gets the "couch_and_lamp" emoji. - Description: Couch and lamp. - - - - - Gets the "counterclockwise_arrows_button" emoji. - Description: Counterclockwise arrows button. - - - - - Gets the "couple_with_heart" emoji. - Description: Couple with heart. - - - - - Gets the "cow" emoji. - Description: Cow. - - - - - Gets the "cowboy_hat_face" emoji. - Description: Cowboy hat face. - - - - - Gets the "cow_face" emoji. - Description: Cow face. - - - - - Gets the "crab" emoji. - Description: Crab. - - - - - Gets the "crayon" emoji. - Description: Crayon. - - - - - Gets the "credit_card" emoji. - Description: Credit card. - - - - - Gets the "crescent_moon" emoji. - Description: Crescent moon. - - - - - Gets the "cricket" emoji. - Description: Cricket. - - - - - Gets the "cricket_game" emoji. - Description: Cricket game. - - - - - Gets the "crocodile" emoji. - Description: Crocodile. - - - - - Gets the "croissant" emoji. - Description: Croissant. - - - - - Gets the "crossed_fingers" emoji. - Description: Crossed fingers. - - - - - Gets the "crossed_flags" emoji. - Description: Crossed flags. - - - - - Gets the "crossed_swords" emoji. - Description: Crossed swords. - - - - - Gets the "cross_mark" emoji. - Description: Cross mark. - - - - - Gets the "cross_mark_button" emoji. - Description: Cross mark button. - - - - - Gets the "crown" emoji. - Description: Crown. - - - - - Gets the "crying_cat" emoji. - Description: Crying cat. - - - - - Gets the "crying_face" emoji. - Description: Crying face. - - - - - Gets the "crystal_ball" emoji. - Description: Crystal ball. - - - - - Gets the "cucumber" emoji. - Description: Cucumber. - - - - - Gets the "cupcake" emoji. - Description: Cupcake. - - - - - Gets the "cup_with_straw" emoji. - Description: Cup with straw. - - - - - Gets the "curling_stone" emoji. - Description: Curling stone. - - - - - Gets the "curly_hair" emoji. - Description: Curly hair. - - - - - Gets the "curly_loop" emoji. - Description: Curly loop. - - - - - Gets the "currency_exchange" emoji. - Description: Currency exchange. - - - - - Gets the "curry_rice" emoji. - Description: Curry rice. - - - - - Gets the "custard" emoji. - Description: Custard. - - - - - Gets the "customs" emoji. - Description: Customs. - - - - - Gets the "cut_of_meat" emoji. - Description: Cut of meat. - - - - - Gets the "cyclone" emoji. - Description: Cyclone. - - - - - Gets the "dagger" emoji. - Description: Dagger. - - - - - Gets the "dango" emoji. - Description: Dango. - - - - - Gets the "dashing_away" emoji. - Description: Dashing away. - - - - - Gets the "deaf_person" emoji. - Description: Deaf person. - - - - - Gets the "deciduous_tree" emoji. - Description: Deciduous tree. - - - - - Gets the "deer" emoji. - Description: Deer. - - - - - Gets the "delivery_truck" emoji. - Description: Delivery truck. - - - - - Gets the "department_store" emoji. - Description: Department store. - - - - - Gets the "derelict_house" emoji. - Description: Derelict house. - - - - - Gets the "desert" emoji. - Description: Desert. - - - - - Gets the "desert_island" emoji. - Description: Desert island. - - - - - Gets the "desktop_computer" emoji. - Description: Desktop computer. - - - - - Gets the "detective" emoji. - Description: Detective. - - - - - Gets the "diamond_suit" emoji. - Description: Diamond suit. - - - - - Gets the "diamond_with_a_dot" emoji. - Description: Diamond with a dot. - - - - - Gets the "dim_button" emoji. - Description: Dim button. - - - - - Gets the "disappointed_face" emoji. - Description: Disappointed face. - - - - - Gets the "disguised_face" emoji. - Description: Disguised face. - - - - - Gets the "divide" emoji. - Description: Divide. - - - - - Gets the "diving_mask" emoji. - Description: Diving mask. - - - - - Gets the "diya_lamp" emoji. - Description: Diya lamp. - - - - - Gets the "dizzy" emoji. - Description: Dizzy. - - - - - Gets the "dna" emoji. - Description: Dna. - - - - - Gets the "dodo" emoji. - Description: Dodo. - - - - - Gets the "dog" emoji. - Description: Dog. - - - - - Gets the "dog_face" emoji. - Description: Dog face. - - - - - Gets the "dollar_banknote" emoji. - Description: Dollar banknote. - - - - - Gets the "dolphin" emoji. - Description: Dolphin. - - - - - Gets the "door" emoji. - Description: Door. - - - - - Gets the "dotted_six_pointed_star" emoji. - Description: dotted six pointed star. - - - - - Gets the "double_curly_loop" emoji. - Description: Double curly loop. - - - - - Gets the "double_exclamation_mark" emoji. - Description: Double exclamation mark. - - - - - Gets the "doughnut" emoji. - Description: Doughnut. - - - - - Gets the "dove" emoji. - Description: Dove. - - - - - Gets the "down_arrow" emoji. - Description: Down arrow. - - - - - Gets the "downcast_face_with_sweat" emoji. - Description: Downcast face with sweat. - - - - - Gets the "down_left_arrow" emoji. - Description: down left arrow. - - - - - Gets the "down_right_arrow" emoji. - Description: down right arrow. - - - - - Gets the "downwards_button" emoji. - Description: Downwards button. - - - - - Gets the "dragon" emoji. - Description: Dragon. - - - - - Gets the "dragon_face" emoji. - Description: Dragon face. - - - - - Gets the "dress" emoji. - Description: Dress. - - - - - Gets the "drooling_face" emoji. - Description: Drooling face. - - - - - Gets the "droplet" emoji. - Description: Droplet. - - - - - Gets the "drop_of_blood" emoji. - Description: Drop of blood. - - - - - Gets the "drum" emoji. - Description: Drum. - - - - - Gets the "duck" emoji. - Description: Duck. - - - - - Gets the "dumpling" emoji. - Description: Dumpling. - - - - - Gets the "dvd" emoji. - Description: Dvd. - - - - - Gets the "eagle" emoji. - Description: Eagle. - - - - - Gets the "ear" emoji. - Description: Ear. - - - - - Gets the "ear_of_corn" emoji. - Description: Ear of corn. - - - - - Gets the "ear_with_hearing_aid" emoji. - Description: Ear with hearing aid. - - - - - Gets the "egg" emoji. - Description: Egg. - - - - - Gets the "eggplant" emoji. - Description: Eggplant. - - - - - Gets the "eight_o_clock" emoji. - Description: Eight o clock. - - - - - Gets the "eight_pointed_star" emoji. - Description: eight pointed star. - - - - - Gets the "eight_spoked_asterisk" emoji. - Description: eight spoked asterisk. - - - - - Gets the "eight_thirty" emoji. - Description: eight thirty. - - - - - Gets the "eject_button" emoji. - Description: Eject button. - - - - - Gets the "electric_plug" emoji. - Description: Electric plug. - - - - - Gets the "elephant" emoji. - Description: Elephant. - - - - - Gets the "elevator" emoji. - Description: Elevator. - - - - - Gets the "eleven_o_clock" emoji. - Description: Eleven o clock. - - - - - Gets the "eleven_thirty" emoji. - Description: eleven thirty. - - - - - Gets the "elf" emoji. - Description: Elf. - - - - - Gets the "e_mail" emoji. - Description: e mail. - - - - - Gets the "end_arrow" emoji. - Description: END arrow. - - - - - Gets the "envelope" emoji. - Description: Envelope. - - - - - Gets the "envelope_with_arrow" emoji. - Description: Envelope with arrow. - - - - - Gets the "euro_banknote" emoji. - Description: Euro banknote. - - - - - Gets the "evergreen_tree" emoji. - Description: Evergreen tree. - - - - - Gets the "ewe" emoji. - Description: Ewe. - - - - - Gets the "exclamation_question_mark" emoji. - Description: Exclamation question mark. - - - - - Gets the "exploding_head" emoji. - Description: Exploding head. - - - - - Gets the "expressionless_face" emoji. - Description: Expressionless face. - - - - - Gets the "eye" emoji. - Description: Eye. - - - - - Gets the "eyes" emoji. - Description: Eyes. - - - - - Gets the "face_blowing_a_kiss" emoji. - Description: Face blowing a kiss. - - - - - Gets the "face_savoring_food" emoji. - Description: Face savoring food. - - - - - Gets the "face_screaming_in_fear" emoji. - Description: Face screaming in fear. - - - - - Gets the "face_vomiting" emoji. - Description: Face vomiting. - - - - - Gets the "face_with_hand_over_mouth" emoji. - Description: Face with hand over mouth. - - - - - Gets the "face_with_head_bandage" emoji. - Description: face with head bandage. - - - - - Gets the "face_with_medical_mask" emoji. - Description: Face with medical mask. - - - - - Gets the "face_with_monocle" emoji. - Description: Face with monocle. - - - - - Gets the "face_with_open_mouth" emoji. - Description: Face with open mouth. - - - - - Gets the "face_without_mouth" emoji. - Description: Face without mouth. - - - - - Gets the "face_with_raised_eyebrow" emoji. - Description: Face with raised eyebrow. - - - - - Gets the "face_with_rolling_eyes" emoji. - Description: Face with rolling eyes. - - - - - Gets the "face_with_steam_from_nose" emoji. - Description: Face with steam from nose. - - - - - Gets the "face_with_symbols_on_mouth" emoji. - Description: Face with symbols on mouth. - - - - - Gets the "face_with_tears_of_joy" emoji. - Description: Face with tears of joy. - - - - - Gets the "face_with_thermometer" emoji. - Description: Face with thermometer. - - - - - Gets the "face_with_tongue" emoji. - Description: Face with tongue. - - - - - Gets the "factory" emoji. - Description: Factory. - - - - - Gets the "fairy" emoji. - Description: Fairy. - - - - - Gets the "falafel" emoji. - Description: Falafel. - - - - - Gets the "fallen_leaf" emoji. - Description: Fallen leaf. - - - - - Gets the "family" emoji. - Description: Family. - - - - - Gets the "fast_down_button" emoji. - Description: Fast down button. - - - - - Gets the "fast_forward_button" emoji. - Description: fast forward button. - - - - - Gets the "fast_reverse_button" emoji. - Description: Fast reverse button. - - - - - Gets the "fast_up_button" emoji. - Description: Fast up button. - - - - - Gets the "fax_machine" emoji. - Description: Fax machine. - - - - - Gets the "fearful_face" emoji. - Description: Fearful face. - - - - - Gets the "feather" emoji. - Description: Feather. - - - - - Gets the "female_sign" emoji. - Description: Female sign. - - - - - Gets the "ferris_wheel" emoji. - Description: Ferris wheel. - - - - - Gets the "ferry" emoji. - Description: Ferry. - - - - - Gets the "field_hockey" emoji. - Description: Field hockey. - - - - - Gets the "file_cabinet" emoji. - Description: File cabinet. - - - - - Gets the "file_folder" emoji. - Description: File folder. - - - - - Gets the "film_frames" emoji. - Description: Film frames. - - - - - Gets the "film_projector" emoji. - Description: Film projector. - - - - - Gets the "fire" emoji. - Description: Fire. - - - - - Gets the "firecracker" emoji. - Description: Firecracker. - - - - - Gets the "fire_engine" emoji. - Description: Fire engine. - - - - - Gets the "fire_extinguisher" emoji. - Description: Fire extinguisher. - - - - - Gets the "fireworks" emoji. - Description: Fireworks. - - - - - Gets the "1st_place_medal" emoji. - Description: 1st place medal. - - - - - Gets the "first_quarter_moon" emoji. - Description: First quarter moon. - - - - - Gets the "first_quarter_moon_face" emoji. - Description: First quarter moon face. - - - - - Gets the "fish" emoji. - Description: Fish. - - - - - Gets the "fish_cake_with_swirl" emoji. - Description: Fish cake with swirl. - - - - - Gets the "fishing_pole" emoji. - Description: Fishing pole. - - - - - Gets the "five_o_clock" emoji. - Description: Five o clock. - - - - - Gets the "five_thirty" emoji. - Description: five thirty. - - - - - Gets the "flag_in_hole" emoji. - Description: Flag in hole. - - - - - Gets the "flamingo" emoji. - Description: Flamingo. - - - - - Gets the "flashlight" emoji. - Description: Flashlight. - - - - - Gets the "flatbread" emoji. - Description: Flatbread. - - - - - Gets the "flat_shoe" emoji. - Description: Flat shoe. - - - - - Gets the "fleur_de_lis" emoji. - Description: fleur de lis. - - - - - Gets the "flexed_biceps" emoji. - Description: Flexed biceps. - - - - - Gets the "floppy_disk" emoji. - Description: Floppy disk. - - - - - Gets the "flower_playing_cards" emoji. - Description: Flower playing cards. - - - - - Gets the "flushed_face" emoji. - Description: Flushed face. - - - - - Gets the "fly" emoji. - Description: Fly. - - - - - Gets the "flying_disc" emoji. - Description: Flying disc. - - - - - Gets the "flying_saucer" emoji. - Description: Flying saucer. - - - - - Gets the "fog" emoji. - Description: Fog. - - - - - Gets the "foggy" emoji. - Description: Foggy. - - - - - Gets the "folded_hands" emoji. - Description: Folded hands. - - - - - Gets the "fondue" emoji. - Description: Fondue. - - - - - Gets the "foot" emoji. - Description: Foot. - - - - - Gets the "footprints" emoji. - Description: Footprints. - - - - - Gets the "fork_and_knife" emoji. - Description: Fork and knife. - - - - - Gets the "fork_and_knife_with_plate" emoji. - Description: Fork and knife with plate. - - - - - Gets the "fortune_cookie" emoji. - Description: Fortune cookie. - - - - - Gets the "fountain" emoji. - Description: Fountain. - - - - - Gets the "fountain_pen" emoji. - Description: Fountain pen. - - - - - Gets the "four_leaf_clover" emoji. - Description: Four leaf clover. - - - - - Gets the "four_o_clock" emoji. - Description: Four o clock. - - - - - Gets the "four_thirty" emoji. - Description: four thirty. - - - - - Gets the "fox" emoji. - Description: Fox. - - - - - Gets the "framed_picture" emoji. - Description: Framed picture. - - - - - Gets the "free_button" emoji. - Description: FREE button. - - - - - Gets the "french_fries" emoji. - Description: French fries. - - - - - Gets the "fried_shrimp" emoji. - Description: Fried shrimp. - - - - - Gets the "frog" emoji. - Description: Frog. - - - - - Gets the "front_facing_baby_chick" emoji. - Description: front facing baby chick. - - - - - Gets the "frowning_face" emoji. - Description: Frowning face. - - - - - Gets the "frowning_face_with_open_mouth" emoji. - Description: Frowning face with open mouth. - - - - - Gets the "fuel_pump" emoji. - Description: Fuel pump. - - - - - Gets the "full_moon" emoji. - Description: Full moon. - - - - - Gets the "full_moon_face" emoji. - Description: Full moon face. - - - - - Gets the "funeral_urn" emoji. - Description: Funeral urn. - - - - - Gets the "game_die" emoji. - Description: Game die. - - - - - Gets the "garlic" emoji. - Description: Garlic. - - - - - Gets the "gear" emoji. - Description: Gear. - - - - - Gets the "gemini" emoji. - Description: Gemini. - - - - - Gets the "gem_stone" emoji. - Description: Gem stone. - - - - - Gets the "genie" emoji. - Description: Genie. - - - - - Gets the "ghost" emoji. - Description: Ghost. - - - - - Gets the "giraffe" emoji. - Description: Giraffe. - - - - - Gets the "girl" emoji. - Description: Girl. - - - - - Gets the "glasses" emoji. - Description: Glasses. - - - - - Gets the "glass_of_milk" emoji. - Description: Glass of milk. - - - - - Gets the "globe_showing_americas" emoji. - Description: Globe showing americas. - - - - - Gets the "globe_showing_asia_australia" emoji. - Description: globe showing Asia Australia. - - - - - Gets the "globe_showing_europe_africa" emoji. - Description: globe showing Europe Africa. - - - - - Gets the "globe_with_meridians" emoji. - Description: Globe with meridians. - - - - - Gets the "gloves" emoji. - Description: Gloves. - - - - - Gets the "glowing_star" emoji. - Description: Glowing star. - - - - - Gets the "goal_net" emoji. - Description: Goal net. - - - - - Gets the "goat" emoji. - Description: Goat. - - - - - Gets the "goblin" emoji. - Description: Goblin. - - - - - Gets the "goggles" emoji. - Description: Goggles. - - - - - Gets the "gorilla" emoji. - Description: Gorilla. - - - - - Gets the "graduation_cap" emoji. - Description: Graduation cap. - - - - - Gets the "grapes" emoji. - Description: Grapes. - - - - - Gets the "green_apple" emoji. - Description: Green apple. - - - - - Gets the "green_book" emoji. - Description: Green book. - - - - - Gets the "green_circle" emoji. - Description: Green circle. - - - - - Gets the "green_heart" emoji. - Description: Green heart. - - - - - Gets the "green_salad" emoji. - Description: Green salad. - - - - - Gets the "green_square" emoji. - Description: Green square. - - - - - Gets the "grimacing_face" emoji. - Description: Grimacing face. - - - - - Gets the "grinning_cat" emoji. - Description: Grinning cat. - - - - - Gets the "grinning_cat_with_smiling_eyes" emoji. - Description: Grinning cat with smiling eyes. - - - - - Gets the "grinning_face" emoji. - Description: Grinning face. - - - - - Gets the "grinning_face_with_big_eyes" emoji. - Description: Grinning face with big eyes. - - - - - Gets the "grinning_face_with_smiling_eyes" emoji. - Description: Grinning face with smiling eyes. - - - - - Gets the "grinning_face_with_sweat" emoji. - Description: Grinning face with sweat. - - - - - Gets the "grinning_squinting_face" emoji. - Description: Grinning squinting face. - - - - - Gets the "growing_heart" emoji. - Description: Growing heart. - - - - - Gets the "guard" emoji. - Description: Guard. - - - - - Gets the "guide_dog" emoji. - Description: Guide dog. - - - - - Gets the "guitar" emoji. - Description: Guitar. - - - - - Gets the "hamburger" emoji. - Description: Hamburger. - - - - - Gets the "hammer" emoji. - Description: Hammer. - - - - - Gets the "hammer_and_pick" emoji. - Description: Hammer and pick. - - - - - Gets the "hammer_and_wrench" emoji. - Description: Hammer and wrench. - - - - - Gets the "hamster" emoji. - Description: Hamster. - - - - - Gets the "handbag" emoji. - Description: Handbag. - - - - - Gets the "handshake" emoji. - Description: Handshake. - - - - - Gets the "hand_with_fingers_splayed" emoji. - Description: Hand with fingers splayed. - - - - - Gets the "hatching_chick" emoji. - Description: Hatching chick. - - - - - Gets the "headphone" emoji. - Description: Headphone. - - - - - Gets the "headstone" emoji. - Description: Headstone. - - - - - Gets the "hear_no_evil_monkey" emoji. - Description: hear no evil monkey. - - - - - Gets the "heart_decoration" emoji. - Description: Heart decoration. - - - - - Gets the "heart_exclamation" emoji. - Description: Heart exclamation. - - - - - Gets the "heart_suit" emoji. - Description: Heart suit. - - - - - Gets the "heart_with_arrow" emoji. - Description: Heart with arrow. - - - - - Gets the "heart_with_ribbon" emoji. - Description: Heart with ribbon. - - - - - Gets the "heavy_dollar_sign" emoji. - Description: Heavy dollar sign. - - - - - Gets the "hedgehog" emoji. - Description: Hedgehog. - - - - - Gets the "helicopter" emoji. - Description: Helicopter. - - - - - Gets the "herb" emoji. - Description: Herb. - - - - - Gets the "hibiscus" emoji. - Description: Hibiscus. - - - - - Gets the "high_heeled_shoe" emoji. - Description: high heeled shoe. - - - - - Gets the "high_speed_train" emoji. - Description: high speed train. - - - - - Gets the "high_voltage" emoji. - Description: High voltage. - - - - - Gets the "hiking_boot" emoji. - Description: Hiking boot. - - - - - Gets the "hindu_temple" emoji. - Description: Hindu temple. - - - - - Gets the "hippopotamus" emoji. - Description: Hippopotamus. - - - - - Gets the "hole" emoji. - Description: Hole. - - - - - Gets the "hollow_red_circle" emoji. - Description: Hollow red circle. - - - - - Gets the "honeybee" emoji. - Description: Honeybee. - - - - - Gets the "honey_pot" emoji. - Description: Honey pot. - - - - - Gets the "hook" emoji. - Description: Hook. - - - - - Gets the "horizontal_traffic_light" emoji. - Description: Horizontal traffic light. - - - - - Gets the "horse" emoji. - Description: Horse. - - - - - Gets the "horse_face" emoji. - Description: Horse face. - - - - - Gets the "horse_racing" emoji. - Description: Horse racing. - - - - - Gets the "hospital" emoji. - Description: Hospital. - - - - - Gets the "hot_beverage" emoji. - Description: Hot beverage. - - - - - Gets the "hot_dog" emoji. - Description: Hot dog. - - - - - Gets the "hotel" emoji. - Description: Hotel. - - - - - Gets the "hot_face" emoji. - Description: Hot face. - - - - - Gets the "hot_pepper" emoji. - Description: Hot pepper. - - - - - Gets the "hot_springs" emoji. - Description: Hot springs. - - - - - Gets the "hourglass_done" emoji. - Description: Hourglass done. - - - - - Gets the "hourglass_not_done" emoji. - Description: Hourglass not done. - - - - - Gets the "house" emoji. - Description: House. - - - - - Gets the "houses" emoji. - Description: Houses. - - - - - Gets the "house_with_garden" emoji. - Description: House with garden. - - - - - Gets the "hugging_face" emoji. - Description: Hugging face. - - - - - Gets the "hundred_points" emoji. - Description: Hundred points. - - - - - Gets the "hushed_face" emoji. - Description: Hushed face. - - - - - Gets the "hut" emoji. - Description: Hut. - - - - - Gets the "ice" emoji. - Description: Ice. - - - - - Gets the "ice_cream" emoji. - Description: Ice cream. - - - - - Gets the "ice_hockey" emoji. - Description: Ice hockey. - - - - - Gets the "ice_skate" emoji. - Description: Ice skate. - - - - - Gets the "id_button" emoji. - Description: ID button. - - - - - Gets the "inbox_tray" emoji. - Description: Inbox tray. - - - - - Gets the "incoming_envelope" emoji. - Description: Incoming envelope. - - - - - Gets the "index_pointing_up" emoji. - Description: Index pointing up. - - - - - Gets the "infinity" emoji. - Description: Infinity. - - - - - Gets the "information" emoji. - Description: Information. - - - - - Gets the "input_latin_letters" emoji. - Description: Input latin letters. - - - - - Gets the "input_latin_lowercase" emoji. - Description: Input latin lowercase. - - - - - Gets the "input_latin_uppercase" emoji. - Description: Input latin uppercase. - - - - - Gets the "input_numbers" emoji. - Description: Input numbers. - - - - - Gets the "input_symbols" emoji. - Description: Input symbols. - - - - - Gets the "jack_o_lantern" emoji. - Description: jack o lantern. - - - - - Gets the "japanese_acceptable_button" emoji. - Description: Japanese acceptable button. - - - - - Gets the "japanese_application_button" emoji. - Description: Japanese application button. - - - - - Gets the "japanese_bargain_button" emoji. - Description: Japanese bargain button. - - - - - Gets the "japanese_castle" emoji. - Description: Japanese castle. - - - - - Gets the "japanese_congratulations_button" emoji. - Description: Japanese congratulations button. - - - - - Gets the "japanese_discount_button" emoji. - Description: Japanese discount button. - - - - - Gets the "japanese_dolls" emoji. - Description: Japanese dolls. - - - - - Gets the "japanese_free_of_charge_button" emoji. - Description: Japanese free of charge button. - - - - - Gets the "japanese_here_button" emoji. - Description: Japanese here button. - - - - - Gets the "japanese_monthly_amount_button" emoji. - Description: Japanese monthly amount button. - - - - - Gets the "japanese_not_free_of_charge_button" emoji. - Description: Japanese not free of charge button. - - - - - Gets the "japanese_no_vacancy_button" emoji. - Description: Japanese no vacancy button. - - - - - Gets the "japanese_open_for_business_button" emoji. - Description: Japanese open for business button. - - - - - Gets the "japanese_passing_grade_button" emoji. - Description: Japanese passing grade button. - - - - - Gets the "japanese_post_office" emoji. - Description: Japanese post office. - - - - - Gets the "japanese_prohibited_button" emoji. - Description: Japanese prohibited button. - - - - - Gets the "japanese_reserved_button" emoji. - Description: Japanese reserved button. - - - - - Gets the "japanese_secret_button" emoji. - Description: Japanese secret button. - - - - - Gets the "japanese_service_charge_button" emoji. - Description: Japanese service charge button. - - - - - Gets the "japanese_symbol_for_beginner" emoji. - Description: Japanese symbol for beginner. - - - - - Gets the "japanese_vacancy_button" emoji. - Description: Japanese vacancy button. - - - - - Gets the "jeans" emoji. - Description: Jeans. - - - - - Gets the "joker" emoji. - Description: Joker. - - - - - Gets the "joystick" emoji. - Description: Joystick. - - - - - Gets the "kaaba" emoji. - Description: Kaaba. - - - - - Gets the "kangaroo" emoji. - Description: Kangaroo. - - - - - Gets the "key" emoji. - Description: Key. - - - - - Gets the "keyboard" emoji. - Description: Keyboard. - - - - - Gets the "keycap_10" emoji. - Description: Keycap 10. - - - - - Gets the "kick_scooter" emoji. - Description: Kick scooter. - - - - - Gets the "kimono" emoji. - Description: Kimono. - - - - - Gets the "kiss" emoji. - Description: Kiss. - - - - - Gets the "kissing_cat" emoji. - Description: Kissing cat. - - - - - Gets the "kissing_face" emoji. - Description: Kissing face. - - - - - Gets the "kissing_face_with_closed_eyes" emoji. - Description: Kissing face with closed eyes. - - - - - Gets the "kissing_face_with_smiling_eyes" emoji. - Description: Kissing face with smiling eyes. - - - - - Gets the "kiss_mark" emoji. - Description: Kiss mark. - - - - - Gets the "kitchen_knife" emoji. - Description: Kitchen knife. - - - - - Gets the "kite" emoji. - Description: Kite. - - - - - Gets the "kiwi_fruit" emoji. - Description: Kiwi fruit. - - - - - Gets the "knocked_out_face" emoji. - Description: knocked out face. - - - - - Gets the "knot" emoji. - Description: Knot. - - - - - Gets the "koala" emoji. - Description: Koala. - - - - - Gets the "lab_coat" emoji. - Description: Lab coat. - - - - - Gets the "label" emoji. - Description: Label. - - - - - Gets the "lacrosse" emoji. - Description: Lacrosse. - - - - - Gets the "ladder" emoji. - Description: Ladder. - - - - - Gets the "lady_beetle" emoji. - Description: Lady beetle. - - - - - Gets the "laptop" emoji. - Description: Laptop. - - - - - Gets the "large_blue_diamond" emoji. - Description: Large blue diamond. - - - - - Gets the "large_orange_diamond" emoji. - Description: Large orange diamond. - - - - - Gets the "last_quarter_moon" emoji. - Description: Last quarter moon. - - - - - Gets the "last_quarter_moon_face" emoji. - Description: Last quarter moon face. - - - - - Gets the "last_track_button" emoji. - Description: Last track button. - - - - - Gets the "latin_cross" emoji. - Description: Latin cross. - - - - - Gets the "leaf_fluttering_in_wind" emoji. - Description: Leaf fluttering in wind. - - - - - Gets the "leafy_green" emoji. - Description: Leafy green. - - - - - Gets the "ledger" emoji. - Description: Ledger. - - - - - Gets the "left_arrow" emoji. - Description: Left arrow. - - - - - Gets the "left_arrow_curving_right" emoji. - Description: Left arrow curving right. - - - - - Gets the "left_facing_fist" emoji. - Description: left facing fist. - - - - - Gets the "left_luggage" emoji. - Description: Left luggage. - - - - - Gets the "left_right_arrow" emoji. - Description: left right arrow. - - - - - Gets the "left_speech_bubble" emoji. - Description: Left speech bubble. - - - - - Gets the "leg" emoji. - Description: Leg. - - - - - Gets the "lemon" emoji. - Description: Lemon. - - - - - Gets the "leo" emoji. - Description: Leo. - - - - - Gets the "leopard" emoji. - Description: Leopard. - - - - - Gets the "level_slider" emoji. - Description: Level slider. - - - - - Gets the "libra" emoji. - Description: Libra. - - - - - Gets the "light_bulb" emoji. - Description: Light bulb. - - - - - Gets the "light_rail" emoji. - Description: Light rail. - - - - - Gets the "link" emoji. - Description: Link. - - - - - Gets the "linked_paperclips" emoji. - Description: Linked paperclips. - - - - - Gets the "lion" emoji. - Description: Lion. - - - - - Gets the "lipstick" emoji. - Description: Lipstick. - - - - - Gets the "litter_in_bin_sign" emoji. - Description: Litter in bin sign. - - - - - Gets the "lizard" emoji. - Description: Lizard. - - - - - Gets the "llama" emoji. - Description: Llama. - - - - - Gets the "lobster" emoji. - Description: Lobster. - - - - - Gets the "locked" emoji. - Description: Locked. - - - - - Gets the "locked_with_key" emoji. - Description: Locked with key. - - - - - Gets the "locked_with_pen" emoji. - Description: Locked with pen. - - - - - Gets the "locomotive" emoji. - Description: Locomotive. - - - - - Gets the "lollipop" emoji. - Description: Lollipop. - - - - - Gets the "long_drum" emoji. - Description: Long drum. - - - - - Gets the "lotion_bottle" emoji. - Description: Lotion bottle. - - - - - Gets the "loudly_crying_face" emoji. - Description: Loudly crying face. - - - - - Gets the "loudspeaker" emoji. - Description: Loudspeaker. - - - - - Gets the "love_hotel" emoji. - Description: Love hotel. - - - - - Gets the "love_letter" emoji. - Description: Love letter. - - - - - Gets the "love_you_gesture" emoji. - Description: love you gesture. - - - - - Gets the "luggage" emoji. - Description: Luggage. - - - - - Gets the "lungs" emoji. - Description: Lungs. - - - - - Gets the "lying_face" emoji. - Description: Lying face. - - - - - Gets the "mage" emoji. - Description: Mage. - - - - - Gets the "magic_wand" emoji. - Description: Magic wand. - - - - - Gets the "magnet" emoji. - Description: Magnet. - - - - - Gets the "magnifying_glass_tilted_left" emoji. - Description: Magnifying glass tilted left. - - - - - Gets the "magnifying_glass_tilted_right" emoji. - Description: Magnifying glass tilted right. - - - - - Gets the "mahjong_red_dragon" emoji. - Description: Mahjong red dragon. - - - - - Gets the "male_sign" emoji. - Description: Male sign. - - - - - Gets the "mammoth" emoji. - Description: Mammoth. - - - - - Gets the "man" emoji. - Description: Man. - - - - - Gets the "man_dancing" emoji. - Description: Man dancing. - - - - - Gets the "mango" emoji. - Description: Mango. - - - - - Gets the "mans_shoe" emoji. - Description: Man s shoe. - - - - - Gets the "mantelpiece_clock" emoji. - Description: Mantelpiece clock. - - - - - Gets the "manual_wheelchair" emoji. - Description: Manual wheelchair. - - - - - Gets the "maple_leaf" emoji. - Description: Maple leaf. - - - - - Gets the "map_of_japan" emoji. - Description: Map of japan. - - - - - Gets the "martial_arts_uniform" emoji. - Description: Martial arts uniform. - - - - - Gets the "mate" emoji. - Description: Mate. - - - - - Gets the "meat_on_bone" emoji. - Description: Meat on bone. - - - - - Gets the "mechanical_arm" emoji. - Description: Mechanical arm. - - - - - Gets the "mechanical_leg" emoji. - Description: Mechanical leg. - - - - - Gets the "medical_symbol" emoji. - Description: Medical symbol. - - - - - Gets the "megaphone" emoji. - Description: Megaphone. - - - - - Gets the "melon" emoji. - Description: Melon. - - - - - Gets the "memo" emoji. - Description: Memo. - - - - - Gets the "men_holding_hands" emoji. - Description: Men holding hands. - - - - - Gets the "menorah" emoji. - Description: Menorah. - - - - - Gets the "mens_room" emoji. - Description: Men s room. - - - - - Gets the "merperson" emoji. - Description: Merperson. - - - - - Gets the "metro" emoji. - Description: Metro. - - - - - Gets the "microbe" emoji. - Description: Microbe. - - - - - Gets the "microphone" emoji. - Description: Microphone. - - - - - Gets the "microscope" emoji. - Description: Microscope. - - - - - Gets the "middle_finger" emoji. - Description: Middle finger. - - - - - Gets the "military_helmet" emoji. - Description: Military helmet. - - - - - Gets the "military_medal" emoji. - Description: Military medal. - - - - - Gets the "milky_way" emoji. - Description: Milky way. - - - - - Gets the "minibus" emoji. - Description: Minibus. - - - - - Gets the "minus" emoji. - Description: Minus. - - - - - Gets the "mirror" emoji. - Description: Mirror. - - - - - Gets the "moai" emoji. - Description: Moai. - - - - - Gets the "mobile_phone" emoji. - Description: Mobile phone. - - - - - Gets the "mobile_phone_off" emoji. - Description: Mobile phone off. - - - - - Gets the "mobile_phone_with_arrow" emoji. - Description: Mobile phone with arrow. - - - - - Gets the "money_bag" emoji. - Description: Money bag. - - - - - Gets the "money_mouth_face" emoji. - Description: money mouth face. - - - - - Gets the "money_with_wings" emoji. - Description: Money with wings. - - - - - Gets the "monkey" emoji. - Description: Monkey. - - - - - Gets the "monkey_face" emoji. - Description: Monkey face. - - - - - Gets the "monorail" emoji. - Description: Monorail. - - - - - Gets the "moon_cake" emoji. - Description: Moon cake. - - - - - Gets the "moon_viewing_ceremony" emoji. - Description: Moon viewing ceremony. - - - - - Gets the "mosque" emoji. - Description: Mosque. - - - - - Gets the "mosquito" emoji. - Description: Mosquito. - - - - - Gets the "motor_boat" emoji. - Description: Motor boat. - - - - - Gets the "motorcycle" emoji. - Description: Motorcycle. - - - - - Gets the "motorized_wheelchair" emoji. - Description: Motorized wheelchair. - - - - - Gets the "motor_scooter" emoji. - Description: Motor scooter. - - - - - Gets the "motorway" emoji. - Description: Motorway. - - - - - Gets the "mountain" emoji. - Description: Mountain. - - - - - Gets the "mountain_cableway" emoji. - Description: Mountain cableway. - - - - - Gets the "mountain_railway" emoji. - Description: Mountain railway. - - - - - Gets the "mount_fuji" emoji. - Description: Mount fuji. - - - - - Gets the "mouse" emoji. - Description: Mouse. - - - - - Gets the "mouse_face" emoji. - Description: Mouse face. - - - - - Gets the "mouse_trap" emoji. - Description: Mouse trap. - - - - - Gets the "mouth" emoji. - Description: Mouth. - - - - - Gets the "movie_camera" emoji. - Description: Movie camera. - - - - - Gets the "mrs_claus" emoji. - Description: Mrs claus. - - - - - Gets the "multiply" emoji. - Description: Multiply. - - - - - Gets the "mushroom" emoji. - Description: Mushroom. - - - - - Gets the "musical_keyboard" emoji. - Description: Musical keyboard. - - - - - Gets the "musical_note" emoji. - Description: Musical note. - - - - - Gets the "musical_notes" emoji. - Description: Musical notes. - - - - - Gets the "musical_score" emoji. - Description: Musical score. - - - - - Gets the "muted_speaker" emoji. - Description: Muted speaker. - - - - - Gets the "nail_polish" emoji. - Description: Nail polish. - - - - - Gets the "name_badge" emoji. - Description: Name badge. - - - - - Gets the "national_park" emoji. - Description: National park. - - - - - Gets the "nauseated_face" emoji. - Description: Nauseated face. - - - - - Gets the "nazar_amulet" emoji. - Description: Nazar amulet. - - - - - Gets the "necktie" emoji. - Description: Necktie. - - - - - Gets the "nerd_face" emoji. - Description: Nerd face. - - - - - Gets the "nesting_dolls" emoji. - Description: Nesting dolls. - - - - - Gets the "neutral_face" emoji. - Description: Neutral face. - - - - - Gets the "new_button" emoji. - Description: NEW button. - - - - - Gets the "new_moon" emoji. - Description: New moon. - - - - - Gets the "new_moon_face" emoji. - Description: New moon face. - - - - - Gets the "newspaper" emoji. - Description: Newspaper. - - - - - Gets the "next_track_button" emoji. - Description: Next track button. - - - - - Gets the "ng_button" emoji. - Description: NG button. - - - - - Gets the "night_with_stars" emoji. - Description: Night with stars. - - - - - Gets the "nine_o_clock" emoji. - Description: Nine o clock. - - - - - Gets the "nine_thirty" emoji. - Description: nine thirty. - - - - - Gets the "ninja" emoji. - Description: Ninja. - - - - - Gets the "no_bicycles" emoji. - Description: No bicycles. - - - - - Gets the "no_entry" emoji. - Description: No entry. - - - - - Gets the "no_littering" emoji. - Description: No littering. - - - - - Gets the "no_mobile_phones" emoji. - Description: No mobile phones. - - - - - Gets the "non_potable_water" emoji. - Description: non potable water. - - - - - Gets the "no_one_under_eighteen" emoji. - Description: No one under eighteen. - - - - - Gets the "no_pedestrians" emoji. - Description: No pedestrians. - - - - - Gets the "nose" emoji. - Description: Nose. - - - - - Gets the "no_smoking" emoji. - Description: No smoking. - - - - - Gets the "notebook" emoji. - Description: Notebook. - - - - - Gets the "notebook_with_decorative_cover" emoji. - Description: Notebook with decorative cover. - - - - - Gets the "nut_and_bolt" emoji. - Description: Nut and bolt. - - - - - Gets the "o_button_blood_type" emoji. - Description: O button blood type. - - - - - Gets the "octopus" emoji. - Description: Octopus. - - - - - Gets the "oden" emoji. - Description: Oden. - - - - - Gets the "office_building" emoji. - Description: Office building. - - - - - Gets the "ogre" emoji. - Description: Ogre. - - - - - Gets the "oil_drum" emoji. - Description: Oil drum. - - - - - Gets the "ok_button" emoji. - Description: OK button. - - - - - Gets the "ok_hand" emoji. - Description: OK hand. - - - - - Gets the "older_person" emoji. - Description: Older person. - - - - - Gets the "old_key" emoji. - Description: Old key. - - - - - Gets the "old_man" emoji. - Description: Old man. - - - - - Gets the "old_woman" emoji. - Description: Old woman. - - - - - Gets the "olive" emoji. - Description: Olive. - - - - - Gets the "om" emoji. - Description: Om. - - - - - Gets the "on_arrow" emoji. - Description: ON arrow. - - - - - Gets the "oncoming_automobile" emoji. - Description: Oncoming automobile. - - - - - Gets the "oncoming_bus" emoji. - Description: Oncoming bus. - - - - - Gets the "oncoming_fist" emoji. - Description: Oncoming fist. - - - - - Gets the "oncoming_police_car" emoji. - Description: Oncoming police car. - - - - - Gets the "oncoming_taxi" emoji. - Description: Oncoming taxi. - - - - - Gets the "one_o_clock" emoji. - Description: One o clock. - - - - - Gets the "one_piece_swimsuit" emoji. - Description: one piece swimsuit. - - - - - Gets the "one_thirty" emoji. - Description: one thirty. - - - - - Gets the "onion" emoji. - Description: Onion. - - - - - Gets the "open_book" emoji. - Description: Open book. - - - - - Gets the "open_file_folder" emoji. - Description: Open file folder. - - - - - Gets the "open_hands" emoji. - Description: Open hands. - - - - - Gets the "open_mailbox_with_lowered_flag" emoji. - Description: Open mailbox with lowered flag. - - - - - Gets the "open_mailbox_with_raised_flag" emoji. - Description: Open mailbox with raised flag. - - - - - Gets the "ophiuchus" emoji. - Description: Ophiuchus. - - - - - Gets the "optical_disk" emoji. - Description: Optical disk. - - - - - Gets the "orange_book" emoji. - Description: Orange book. - - - - - Gets the "orange_circle" emoji. - Description: Orange circle. - - - - - Gets the "orange_heart" emoji. - Description: Orange heart. - - - - - Gets the "orange_square" emoji. - Description: Orange square. - - - - - Gets the "orangutan" emoji. - Description: Orangutan. - - - - - Gets the "orthodox_cross" emoji. - Description: Orthodox cross. - - - - - Gets the "otter" emoji. - Description: Otter. - - - - - Gets the "outbox_tray" emoji. - Description: Outbox tray. - - - - - Gets the "owl" emoji. - Description: Owl. - - - - - Gets the "ox" emoji. - Description: Ox. - - - - - Gets the "oyster" emoji. - Description: Oyster. - - - - - Gets the "package" emoji. - Description: Package. - - - - - Gets the "page_facing_up" emoji. - Description: Page facing up. - - - - - Gets the "pager" emoji. - Description: Pager. - - - - - Gets the "page_with_curl" emoji. - Description: Page with curl. - - - - - Gets the "paintbrush" emoji. - Description: Paintbrush. - - - - - Gets the "palms_up_together" emoji. - Description: Palms up together. - - - - - Gets the "palm_tree" emoji. - Description: Palm tree. - - - - - Gets the "pancakes" emoji. - Description: Pancakes. - - - - - Gets the "panda" emoji. - Description: Panda. - - - - - Gets the "paperclip" emoji. - Description: Paperclip. - - - - - Gets the "parachute" emoji. - Description: Parachute. - - - - - Gets the "parrot" emoji. - Description: Parrot. - - - - - Gets the "part_alternation_mark" emoji. - Description: Part alternation mark. - - - - - Gets the "partying_face" emoji. - Description: Partying face. - - - - - Gets the "party_popper" emoji. - Description: Party popper. - - - - - Gets the "passenger_ship" emoji. - Description: Passenger ship. - - - - - Gets the "passport_control" emoji. - Description: Passport control. - - - - - Gets the "pause_button" emoji. - Description: Pause button. - - - - - Gets the "paw_prints" emoji. - Description: Paw prints. - - - - - Gets the "p_button" emoji. - Description: P button. - - - - - Gets the "peace_symbol" emoji. - Description: Peace symbol. - - - - - Gets the "peach" emoji. - Description: Peach. - - - - - Gets the "peacock" emoji. - Description: Peacock. - - - - - Gets the "peanuts" emoji. - Description: Peanuts. - - - - - Gets the "pear" emoji. - Description: Pear. - - - - - Gets the "pen" emoji. - Description: Pen. - - - - - Gets the "pencil" emoji. - Description: Pencil. - - - - - Gets the "penguin" emoji. - Description: Penguin. - - - - - Gets the "pensive_face" emoji. - Description: Pensive face. - - - - - Gets the "people_hugging" emoji. - Description: People hugging. - - - - - Gets the "people_with_bunny_ears" emoji. - Description: People with bunny ears. - - - - - Gets the "people_wrestling" emoji. - Description: People wrestling. - - - - - Gets the "performing_arts" emoji. - Description: Performing arts. - - - - - Gets the "persevering_face" emoji. - Description: Persevering face. - - - - - Gets the "person" emoji. - Description: Person. - - - - - Gets the "person_beard" emoji. - Description: Person beard. - - - - - Gets the "person_biking" emoji. - Description: Person biking. - - - - - Gets the "person_blond_hair" emoji. - Description: Person blond hair. - - - - - Gets the "person_bouncing_ball" emoji. - Description: Person bouncing ball. - - - - - Gets the "person_bowing" emoji. - Description: Person bowing. - - - - - Gets the "person_cartwheeling" emoji. - Description: Person cartwheeling. - - - - - Gets the "person_climbing" emoji. - Description: Person climbing. - - - - - Gets the "person_facepalming" emoji. - Description: Person facepalming. - - - - - Gets the "person_fencing" emoji. - Description: Person fencing. - - - - - Gets the "person_frowning" emoji. - Description: Person frowning. - - - - - Gets the "person_gesturing_no" emoji. - Description: Person gesturing NO. - - - - - Gets the "person_gesturing_ok" emoji. - Description: Person gesturing OK. - - - - - Gets the "person_getting_haircut" emoji. - Description: Person getting haircut. - - - - - Gets the "person_getting_massage" emoji. - Description: Person getting massage. - - - - - Gets the "person_golfing" emoji. - Description: Person golfing. - - - - - Gets the "person_in_bed" emoji. - Description: Person in bed. - - - - - Gets the "person_in_lotus_position" emoji. - Description: Person in lotus position. - - - - - Gets the "person_in_steamy_room" emoji. - Description: Person in steamy room. - - - - - Gets the "person_in_suit_levitating" emoji. - Description: Person in suit levitating. - - - - - Gets the "person_in_tuxedo" emoji. - Description: Person in tuxedo. - - - - - Gets the "person_juggling" emoji. - Description: Person juggling. - - - - - Gets the "person_kneeling" emoji. - Description: Person kneeling. - - - - - Gets the "person_lifting_weights" emoji. - Description: Person lifting weights. - - - - - Gets the "person_mountain_biking" emoji. - Description: Person mountain biking. - - - - - Gets the "person_playing_handball" emoji. - Description: Person playing handball. - - - - - Gets the "person_playing_water_polo" emoji. - Description: Person playing water polo. - - - - - Gets the "person_pouting" emoji. - Description: Person pouting. - - - - - Gets the "person_raising_hand" emoji. - Description: Person raising hand. - - - - - Gets the "person_rowing_boat" emoji. - Description: Person rowing boat. - - - - - Gets the "person_running" emoji. - Description: Person running. - - - - - Gets the "person_shrugging" emoji. - Description: Person shrugging. - - - - - Gets the "person_standing" emoji. - Description: Person standing. - - - - - Gets the "person_surfing" emoji. - Description: Person surfing. - - - - - Gets the "person_swimming" emoji. - Description: Person swimming. - - - - - Gets the "person_taking_bath" emoji. - Description: Person taking bath. - - - - - Gets the "person_tipping_hand" emoji. - Description: Person tipping hand. - - - - - Gets the "person_walking" emoji. - Description: Person walking. - - - - - Gets the "person_wearing_turban" emoji. - Description: Person wearing turban. - - - - - Gets the "person_with_skullcap" emoji. - Description: Person with skullcap. - - - - - Gets the "person_with_veil" emoji. - Description: Person with veil. - - - - - Gets the "petri_dish" emoji. - Description: Petri dish. - - - - - Gets the "pick" emoji. - Description: Pick. - - - - - Gets the "pickup_truck" emoji. - Description: Pickup truck. - - - - - Gets the "pie" emoji. - Description: Pie. - - - - - Gets the "pig" emoji. - Description: Pig. - - - - - Gets the "pig_face" emoji. - Description: Pig face. - - - - - Gets the "pig_nose" emoji. - Description: Pig nose. - - - - - Gets the "pile_of_poo" emoji. - Description: Pile of poo. - - - - - Gets the "pill" emoji. - Description: Pill. - - - - - Gets the "piñata" emoji. - Description: Piñata. - - - - - Gets the "pinched_fingers" emoji. - Description: Pinched fingers. - - - - - Gets the "pinching_hand" emoji. - Description: Pinching hand. - - - - - Gets the "pineapple" emoji. - Description: Pineapple. - - - - - Gets the "pine_decoration" emoji. - Description: Pine decoration. - - - - - Gets the "ping_pong" emoji. - Description: Ping pong. - - - - - Gets the "pisces" emoji. - Description: Pisces. - - - - - Gets the "pizza" emoji. - Description: Pizza. - - - - - Gets the "placard" emoji. - Description: Placard. - - - - - Gets the "place_of_worship" emoji. - Description: Place of worship. - - - - - Gets the "play_button" emoji. - Description: Play button. - - - - - Gets the "play_or_pause_button" emoji. - Description: Play or pause button. - - - - - Gets the "pleading_face" emoji. - Description: Pleading face. - - - - - Gets the "plunger" emoji. - Description: Plunger. - - - - - Gets the "plus" emoji. - Description: Plus. - - - - - Gets the "police_car" emoji. - Description: Police car. - - - - - Gets the "police_car_light" emoji. - Description: Police car light. - - - - - Gets the "police_officer" emoji. - Description: Police officer. - - - - - Gets the "poodle" emoji. - Description: Poodle. - - - - - Gets the "pool_8_ball" emoji. - Description: Pool 8 ball. - - - - - Gets the "popcorn" emoji. - Description: Popcorn. - - - - - Gets the "postal_horn" emoji. - Description: Postal horn. - - - - - Gets the "postbox" emoji. - Description: Postbox. - - - - - Gets the "post_office" emoji. - Description: Post office. - - - - - Gets the "potable_water" emoji. - Description: Potable water. - - - - - Gets the "potato" emoji. - Description: Potato. - - - - - Gets the "pot_of_food" emoji. - Description: Pot of food. - - - - - Gets the "potted_plant" emoji. - Description: Potted plant. - - - - - Gets the "poultry_leg" emoji. - Description: Poultry leg. - - - - - Gets the "pound_banknote" emoji. - Description: Pound banknote. - - - - - Gets the "pouting_cat" emoji. - Description: Pouting cat. - - - - - Gets the "pouting_face" emoji. - Description: Pouting face. - - - - - Gets the "prayer_beads" emoji. - Description: Prayer beads. - - - - - Gets the "pregnant_woman" emoji. - Description: Pregnant woman. - - - - - Gets the "pretzel" emoji. - Description: Pretzel. - - - - - Gets the "prince" emoji. - Description: Prince. - - - - - Gets the "princess" emoji. - Description: Princess. - - - - - Gets the "printer" emoji. - Description: Printer. - - - - - Gets the "prohibited" emoji. - Description: Prohibited. - - - - - Gets the "purple_circle" emoji. - Description: Purple circle. - - - - - Gets the "purple_heart" emoji. - Description: Purple heart. - - - - - Gets the "purple_square" emoji. - Description: Purple square. - - - - - Gets the "purse" emoji. - Description: Purse. - - - - - Gets the "pushpin" emoji. - Description: Pushpin. - - - - - Gets the "puzzle_piece" emoji. - Description: Puzzle piece. - - - - - Gets the "rabbit" emoji. - Description: Rabbit. - - - - - Gets the "rabbit_face" emoji. - Description: Rabbit face. - - - - - Gets the "raccoon" emoji. - Description: Raccoon. - - - - - Gets the "racing_car" emoji. - Description: Racing car. - - - - - Gets the "radio" emoji. - Description: Radio. - - - - - Gets the "radioactive" emoji. - Description: Radioactive. - - - - - Gets the "radio_button" emoji. - Description: Radio button. - - - - - Gets the "railway_car" emoji. - Description: Railway car. - - - - - Gets the "railway_track" emoji. - Description: Railway track. - - - - - Gets the "rainbow" emoji. - Description: Rainbow. - - - - - Gets the "raised_back_of_hand" emoji. - Description: Raised back of hand. - - - - - Gets the "raised_fist" emoji. - Description: Raised fist. - - - - - Gets the "raised_hand" emoji. - Description: Raised hand. - - - - - Gets the "raising_hands" emoji. - Description: Raising hands. - - - - - Gets the "ram" emoji. - Description: Ram. - - - - - Gets the "rat" emoji. - Description: Rat. - - - - - Gets the "razor" emoji. - Description: Razor. - - - - - Gets the "receipt" emoji. - Description: Receipt. - - - - - Gets the "record_button" emoji. - Description: Record button. - - - - - Gets the "recycling_symbol" emoji. - Description: Recycling symbol. - - - - - Gets the "red_apple" emoji. - Description: Red apple. - - - - - Gets the "red_circle" emoji. - Description: Red circle. - - - - - Gets the "red_envelope" emoji. - Description: Red envelope. - - - - - Gets the "red_exclamation_mark" emoji. - Description: Red exclamation mark. - - - - - Gets the "red_hair" emoji. - Description: Red hair. - - - - - Gets the "red_heart" emoji. - Description: Red heart. - - - - - Gets the "red_paper_lantern" emoji. - Description: Red paper lantern. - - - - - Gets the "red_question_mark" emoji. - Description: Red question mark. - - - - - Gets the "red_square" emoji. - Description: Red square. - - - - - Gets the "red_triangle_pointed_down" emoji. - Description: Red triangle pointed down. - - - - - Gets the "red_triangle_pointed_up" emoji. - Description: Red triangle pointed up. - - - - - Gets the "registered" emoji. - Description: Registered. - - - - - Gets the "relieved_face" emoji. - Description: Relieved face. - - - - - Gets the "reminder_ribbon" emoji. - Description: Reminder ribbon. - - - - - Gets the "repeat_button" emoji. - Description: Repeat button. - - - - - Gets the "repeat_single_button" emoji. - Description: Repeat single button. - - - - - Gets the "rescue_workers_helmet" emoji. - Description: Rescue worker s helmet. - - - - - Gets the "restroom" emoji. - Description: Restroom. - - - - - Gets the "reverse_button" emoji. - Description: Reverse button. - - - - - Gets the "revolving_hearts" emoji. - Description: Revolving hearts. - - - - - Gets the "rhinoceros" emoji. - Description: Rhinoceros. - - - - - Gets the "ribbon" emoji. - Description: Ribbon. - - - - - Gets the "rice_ball" emoji. - Description: Rice ball. - - - - - Gets the "rice_cracker" emoji. - Description: Rice cracker. - - - - - Gets the "right_anger_bubble" emoji. - Description: Right anger bubble. - - - - - Gets the "right_arrow" emoji. - Description: Right arrow. - - - - - Gets the "right_arrow_curving_down" emoji. - Description: Right arrow curving down. - - - - - Gets the "right_arrow_curving_left" emoji. - Description: Right arrow curving left. - - - - - Gets the "right_arrow_curving_up" emoji. - Description: Right arrow curving up. - - - - - Gets the "right_facing_fist" emoji. - Description: right facing fist. - - - - - Gets the "ring" emoji. - Description: Ring. - - - - - Gets the "ringed_planet" emoji. - Description: Ringed planet. - - - - - Gets the "roasted_sweet_potato" emoji. - Description: Roasted sweet potato. - - - - - Gets the "robot" emoji. - Description: Robot. - - - - - Gets the "rock" emoji. - Description: Rock. - - - - - Gets the "rocket" emoji. - Description: Rocket. - - - - - Gets the "rolled_up_newspaper" emoji. - Description: rolled up newspaper. - - - - - Gets the "roller_coaster" emoji. - Description: Roller coaster. - - - - - Gets the "roller_skate" emoji. - Description: Roller skate. - - - - - Gets the "rolling_on_the_floor_laughing" emoji. - Description: Rolling on the floor laughing. - - - - - Gets the "roll_of_paper" emoji. - Description: Roll of paper. - - - - - Gets the "rooster" emoji. - Description: Rooster. - - - - - Gets the "rose" emoji. - Description: Rose. - - - - - Gets the "rosette" emoji. - Description: Rosette. - - - - - Gets the "round_pushpin" emoji. - Description: Round pushpin. - - - - - Gets the "rugby_football" emoji. - Description: Rugby football. - - - - - Gets the "running_shirt" emoji. - Description: Running shirt. - - - - - Gets the "running_shoe" emoji. - Description: Running shoe. - - - - - Gets the "sad_but_relieved_face" emoji. - Description: Sad but relieved face. - - - - - Gets the "safety_pin" emoji. - Description: Safety pin. - - - - - Gets the "safety_vest" emoji. - Description: Safety vest. - - - - - Gets the "sagittarius" emoji. - Description: Sagittarius. - - - - - Gets the "sailboat" emoji. - Description: Sailboat. - - - - - Gets the "sake" emoji. - Description: Sake. - - - - - Gets the "salt" emoji. - Description: Salt. - - - - - Gets the "sandwich" emoji. - Description: Sandwich. - - - - - Gets the "santa_claus" emoji. - Description: Santa claus. - - - - - Gets the "sari" emoji. - Description: Sari. - - - - - Gets the "satellite" emoji. - Description: Satellite. - - - - - Gets the "satellite_antenna" emoji. - Description: Satellite antenna. - - - - - Gets the "sauropod" emoji. - Description: Sauropod. - - - - - Gets the "saxophone" emoji. - Description: Saxophone. - - - - - Gets the "scarf" emoji. - Description: Scarf. - - - - - Gets the "school" emoji. - Description: School. - - - - - Gets the "scissors" emoji. - Description: Scissors. - - - - - Gets the "scorpio" emoji. - Description: Scorpio. - - - - - Gets the "scorpion" emoji. - Description: Scorpion. - - - - - Gets the "screwdriver" emoji. - Description: Screwdriver. - - - - - Gets the "scroll" emoji. - Description: Scroll. - - - - - Gets the "seal" emoji. - Description: Seal. - - - - - Gets the "seat" emoji. - Description: Seat. - - - - - Gets the "2nd_place_medal" emoji. - Description: 2nd place medal. - - - - - Gets the "seedling" emoji. - Description: Seedling. - - - - - Gets the "see_no_evil_monkey" emoji. - Description: see no evil monkey. - - - - - Gets the "selfie" emoji. - Description: Selfie. - - - - - Gets the "seven_o_clock" emoji. - Description: Seven o clock. - - - - - Gets the "seven_thirty" emoji. - Description: seven thirty. - - - - - Gets the "sewing_needle" emoji. - Description: Sewing needle. - - - - - Gets the "shallow_pan_of_food" emoji. - Description: Shallow pan of food. - - - - - Gets the "shamrock" emoji. - Description: Shamrock. - - - - - Gets the "shark" emoji. - Description: Shark. - - - - - Gets the "shaved_ice" emoji. - Description: Shaved ice. - - - - - Gets the "sheaf_of_rice" emoji. - Description: Sheaf of rice. - - - - - Gets the "shield" emoji. - Description: Shield. - - - - - Gets the "shinto_shrine" emoji. - Description: Shinto shrine. - - - - - Gets the "ship" emoji. - Description: Ship. - - - - - Gets the "shooting_star" emoji. - Description: Shooting star. - - - - - Gets the "shopping_bags" emoji. - Description: Shopping bags. - - - - - Gets the "shopping_cart" emoji. - Description: Shopping cart. - - - - - Gets the "shortcake" emoji. - Description: Shortcake. - - - - - Gets the "shorts" emoji. - Description: Shorts. - - - - - Gets the "shower" emoji. - Description: Shower. - - - - - Gets the "shrimp" emoji. - Description: Shrimp. - - - - - Gets the "shuffle_tracks_button" emoji. - Description: Shuffle tracks button. - - - - - Gets the "shushing_face" emoji. - Description: Shushing face. - - - - - Gets the "sign_of_the_horns" emoji. - Description: Sign of the horns. - - - - - Gets the "six_o_clock" emoji. - Description: Six o clock. - - - - - Gets the "six_thirty" emoji. - Description: six thirty. - - - - - Gets the "skateboard" emoji. - Description: Skateboard. - - - - - Gets the "skier" emoji. - Description: Skier. - - - - - Gets the "skis" emoji. - Description: Skis. - - - - - Gets the "skull" emoji. - Description: Skull. - - - - - Gets the "skull_and_crossbones" emoji. - Description: Skull and crossbones. - - - - - Gets the "skunk" emoji. - Description: Skunk. - - - - - Gets the "sled" emoji. - Description: Sled. - - - - - Gets the "sleeping_face" emoji. - Description: Sleeping face. - - - - - Gets the "sleepy_face" emoji. - Description: Sleepy face. - - - - - Gets the "slightly_frowning_face" emoji. - Description: Slightly frowning face. - - - - - Gets the "slightly_smiling_face" emoji. - Description: Slightly smiling face. - - - - - Gets the "sloth" emoji. - Description: Sloth. - - - - - Gets the "slot_machine" emoji. - Description: Slot machine. - - - - - Gets the "small_airplane" emoji. - Description: Small airplane. - - - - - Gets the "small_blue_diamond" emoji. - Description: Small blue diamond. - - - - - Gets the "small_orange_diamond" emoji. - Description: Small orange diamond. - - - - - Gets the "smiling_cat_with_heart_eyes" emoji. - Description: smiling cat with heart eyes. - - - - - Gets the "smiling_face" emoji. - Description: Smiling face. - - - - - Gets the "smiling_face_with_halo" emoji. - Description: Smiling face with halo. - - - - - Gets the "smiling_face_with_heart_eyes" emoji. - Description: smiling face with heart eyes. - - - - - Gets the "smiling_face_with_hearts" emoji. - Description: Smiling face with hearts. - - - - - Gets the "smiling_face_with_horns" emoji. - Description: Smiling face with horns. - - - - - Gets the "smiling_face_with_smiling_eyes" emoji. - Description: Smiling face with smiling eyes. - - - - - Gets the "smiling_face_with_sunglasses" emoji. - Description: Smiling face with sunglasses. - - - - - Gets the "smiling_face_with_tear" emoji. - Description: Smiling face with tear. - - - - - Gets the "smirking_face" emoji. - Description: Smirking face. - - - - - Gets the "snail" emoji. - Description: Snail. - - - - - Gets the "snake" emoji. - Description: Snake. - - - - - Gets the "sneezing_face" emoji. - Description: Sneezing face. - - - - - Gets the "snowboarder" emoji. - Description: Snowboarder. - - - - - Gets the "snow_capped_mountain" emoji. - Description: snow capped mountain. - - - - - Gets the "snowflake" emoji. - Description: Snowflake. - - - - - Gets the "snowman" emoji. - Description: Snowman. - - - - - Gets the "snowman_without_snow" emoji. - Description: Snowman without snow. - - - - - Gets the "soap" emoji. - Description: Soap. - - - - - Gets the "soccer_ball" emoji. - Description: Soccer ball. - - - - - Gets the "socks" emoji. - Description: Socks. - - - - - Gets the "softball" emoji. - Description: Softball. - - - - - Gets the "soft_ice_cream" emoji. - Description: Soft ice cream. - - - - - Gets the "soon_arrow" emoji. - Description: SOON arrow. - - - - - Gets the "sos_button" emoji. - Description: SOS button. - - - - - Gets the "spade_suit" emoji. - Description: Spade suit. - - - - - Gets the "spaghetti" emoji. - Description: Spaghetti. - - - - - Gets the "sparkle" emoji. - Description: Sparkle. - - - - - Gets the "sparkler" emoji. - Description: Sparkler. - - - - - Gets the "sparkles" emoji. - Description: Sparkles. - - - - - Gets the "sparkling_heart" emoji. - Description: Sparkling heart. - - - - - Gets the "speaker_high_volume" emoji. - Description: Speaker high volume. - - - - - Gets the "speaker_low_volume" emoji. - Description: Speaker low volume. - - - - - Gets the "speaker_medium_volume" emoji. - Description: Speaker medium volume. - - - - - Gets the "speaking_head" emoji. - Description: Speaking head. - - - - - Gets the "speak_no_evil_monkey" emoji. - Description: speak no evil monkey. - - - - - Gets the "speech_balloon" emoji. - Description: Speech balloon. - - - - - Gets the "speedboat" emoji. - Description: Speedboat. - - - - - Gets the "spider" emoji. - Description: Spider. - - - - - Gets the "spider_web" emoji. - Description: Spider web. - - - - - Gets the "spiral_calendar" emoji. - Description: Spiral calendar. - - - - - Gets the "spiral_notepad" emoji. - Description: Spiral notepad. - - - - - Gets the "spiral_shell" emoji. - Description: Spiral shell. - - - - - Gets the "sponge" emoji. - Description: Sponge. - - - - - Gets the "spoon" emoji. - Description: Spoon. - - - - - Gets the "sports_medal" emoji. - Description: Sports medal. - - - - - Gets the "sport_utility_vehicle" emoji. - Description: Sport utility vehicle. - - - - - Gets the "spouting_whale" emoji. - Description: Spouting whale. - - - - - Gets the "squid" emoji. - Description: Squid. - - - - - Gets the "squinting_face_with_tongue" emoji. - Description: Squinting face with tongue. - - - - - Gets the "stadium" emoji. - Description: Stadium. - - - - - Gets the "star" emoji. - Description: Star. - - - - - Gets the "star_and_crescent" emoji. - Description: Star and crescent. - - - - - Gets the "star_of_david" emoji. - Description: Star of david. - - - - - Gets the "star_struck" emoji. - Description: star struck. - - - - - Gets the "station" emoji. - Description: Station. - - - - - Gets the "statue_of_liberty" emoji. - Description: Statue of liberty. - - - - - Gets the "steaming_bowl" emoji. - Description: Steaming bowl. - - - - - Gets the "stethoscope" emoji. - Description: Stethoscope. - - - - - Gets the "stop_button" emoji. - Description: Stop button. - - - - - Gets the "stop_sign" emoji. - Description: Stop sign. - - - - - Gets the "stopwatch" emoji. - Description: Stopwatch. - - - - - Gets the "straight_ruler" emoji. - Description: Straight ruler. - - - - - Gets the "strawberry" emoji. - Description: Strawberry. - - - - - Gets the "studio_microphone" emoji. - Description: Studio microphone. - - - - - Gets the "stuffed_flatbread" emoji. - Description: Stuffed flatbread. - - - - - Gets the "sun" emoji. - Description: Sun. - - - - - Gets the "sun_behind_cloud" emoji. - Description: Sun behind cloud. - - - - - Gets the "sun_behind_large_cloud" emoji. - Description: Sun behind large cloud. - - - - - Gets the "sun_behind_rain_cloud" emoji. - Description: Sun behind rain cloud. - - - - - Gets the "sun_behind_small_cloud" emoji. - Description: Sun behind small cloud. - - - - - Gets the "sunflower" emoji. - Description: Sunflower. - - - - - Gets the "sunglasses" emoji. - Description: Sunglasses. - - - - - Gets the "sunrise" emoji. - Description: Sunrise. - - - - - Gets the "sunrise_over_mountains" emoji. - Description: Sunrise over mountains. - - - - - Gets the "sunset" emoji. - Description: Sunset. - - - - - Gets the "sun_with_face" emoji. - Description: Sun with face. - - - - - Gets the "superhero" emoji. - Description: Superhero. - - - - - Gets the "supervillain" emoji. - Description: Supervillain. - - - - - Gets the "sushi" emoji. - Description: Sushi. - - - - - Gets the "suspension_railway" emoji. - Description: Suspension railway. - - - - - Gets the "swan" emoji. - Description: Swan. - - - - - Gets the "sweat_droplets" emoji. - Description: Sweat droplets. - - - - - Gets the "synagogue" emoji. - Description: Synagogue. - - - - - Gets the "syringe" emoji. - Description: Syringe. - - - - - Gets the "taco" emoji. - Description: Taco. - - - - - Gets the "takeout_box" emoji. - Description: Takeout box. - - - - - Gets the "tamale" emoji. - Description: Tamale. - - - - - Gets the "tanabata_tree" emoji. - Description: Tanabata tree. - - - - - Gets the "tangerine" emoji. - Description: Tangerine. - - - - - Gets the "taurus" emoji. - Description: Taurus. - - - - - Gets the "taxi" emoji. - Description: Taxi. - - - - - Gets the "teacup_without_handle" emoji. - Description: Teacup without handle. - - - - - Gets the "teapot" emoji. - Description: Teapot. - - - - - Gets the "tear_off_calendar" emoji. - Description: tear off calendar. - - - - - Gets the "teddy_bear" emoji. - Description: Teddy bear. - - - - - Gets the "telephone" emoji. - Description: Telephone. - - - - - Gets the "telephone_receiver" emoji. - Description: Telephone receiver. - - - - - Gets the "telescope" emoji. - Description: Telescope. - - - - - Gets the "television" emoji. - Description: Television. - - - - - Gets the "tennis" emoji. - Description: Tennis. - - - - - Gets the "ten_o_clock" emoji. - Description: Ten o clock. - - - - - Gets the "tent" emoji. - Description: Tent. - - - - - Gets the "ten_thirty" emoji. - Description: ten thirty. - - - - - Gets the "test_tube" emoji. - Description: Test tube. - - - - - Gets the "thermometer" emoji. - Description: Thermometer. - - - - - Gets the "thinking_face" emoji. - Description: Thinking face. - - - - - Gets the "3rd_place_medal" emoji. - Description: 3rd place medal. - - - - - Gets the "thong_sandal" emoji. - Description: Thong sandal. - - - - - Gets the "thought_balloon" emoji. - Description: Thought balloon. - - - - - Gets the "thread" emoji. - Description: Thread. - - - - - Gets the "three_o_clock" emoji. - Description: Three o clock. - - - - - Gets the "three_thirty" emoji. - Description: three thirty. - - - - - Gets the "thumbs_down" emoji. - Description: Thumbs down. - - - - - Gets the "thumbs_up" emoji. - Description: Thumbs up. - - - - - Gets the "ticket" emoji. - Description: Ticket. - - - - - Gets the "tiger" emoji. - Description: Tiger. - - - - - Gets the "tiger_face" emoji. - Description: Tiger face. - - - - - Gets the "timer_clock" emoji. - Description: Timer clock. - - - - - Gets the "tired_face" emoji. - Description: Tired face. - - - - - Gets the "toilet" emoji. - Description: Toilet. - - - - - Gets the "tokyo_tower" emoji. - Description: Tokyo tower. - - - - - Gets the "tomato" emoji. - Description: Tomato. - - - - - Gets the "tongue" emoji. - Description: Tongue. - - - - - Gets the "toolbox" emoji. - Description: Toolbox. - - - - - Gets the "tooth" emoji. - Description: Tooth. - - - - - Gets the "toothbrush" emoji. - Description: Toothbrush. - - - - - Gets the "top_arrow" emoji. - Description: TOP arrow. - - - - - Gets the "top_hat" emoji. - Description: Top hat. - - - - - Gets the "tornado" emoji. - Description: Tornado. - - - - - Gets the "trackball" emoji. - Description: Trackball. - - - - - Gets the "tractor" emoji. - Description: Tractor. - - - - - Gets the "trade_mark" emoji. - Description: Trade mark. - - - - - Gets the "train" emoji. - Description: Train. - - - - - Gets the "tram" emoji. - Description: Tram. - - - - - Gets the "tram_car" emoji. - Description: Tram car. - - - - - Gets the "transgender_symbol" emoji. - Description: Transgender symbol. - - - - - Gets the "t_rex" emoji. - Description: T Rex. - - - - - Gets the "triangular_flag" emoji. - Description: Triangular flag. - - - - - Gets the "triangular_ruler" emoji. - Description: Triangular ruler. - - - - - Gets the "trident_emblem" emoji. - Description: Trident emblem. - - - - - Gets the "trolleybus" emoji. - Description: Trolleybus. - - - - - Gets the "trophy" emoji. - Description: Trophy. - - - - - Gets the "tropical_drink" emoji. - Description: Tropical drink. - - - - - Gets the "tropical_fish" emoji. - Description: Tropical fish. - - - - - Gets the "trumpet" emoji. - Description: Trumpet. - - - - - Gets the "t_shirt" emoji. - Description: t shirt. - - - - - Gets the "tulip" emoji. - Description: Tulip. - - - - - Gets the "tumbler_glass" emoji. - Description: Tumbler glass. - - - - - Gets the "turkey" emoji. - Description: Turkey. - - - - - Gets the "turtle" emoji. - Description: Turtle. - - - - - Gets the "twelve_o_clock" emoji. - Description: Twelve o clock. - - - - - Gets the "twelve_thirty" emoji. - Description: twelve thirty. - - - - - Gets the "two_hearts" emoji. - Description: Two hearts. - - - - - Gets the "two_hump_camel" emoji. - Description: two hump camel. - - - - - Gets the "two_o_clock" emoji. - Description: Two o clock. - - - - - Gets the "two_thirty" emoji. - Description: two thirty. - - - - - Gets the "umbrella" emoji. - Description: Umbrella. - - - - - Gets the "umbrella_on_ground" emoji. - Description: Umbrella on ground. - - - - - Gets the "umbrella_with_rain_drops" emoji. - Description: Umbrella with rain drops. - - - - - Gets the "unamused_face" emoji. - Description: Unamused face. - - - - - Gets the "unicorn" emoji. - Description: Unicorn. - - - - - Gets the "unlocked" emoji. - Description: Unlocked. - - - - - Gets the "up_arrow" emoji. - Description: Up arrow. - - - - - Gets the "up_button" emoji. - Description: UP button. - - - - - Gets the "up_down_arrow" emoji. - Description: up down arrow. - - - - - Gets the "up_left_arrow" emoji. - Description: up left arrow. - - - - - Gets the "up_right_arrow" emoji. - Description: up right arrow. - - - - - Gets the "upside_down_face" emoji. - Description: upside down face. - - - - - Gets the "upwards_button" emoji. - Description: Upwards button. - - - - - Gets the "vampire" emoji. - Description: Vampire. - - - - - Gets the "vertical_traffic_light" emoji. - Description: Vertical traffic light. - - - - - Gets the "vibration_mode" emoji. - Description: Vibration mode. - - - - - Gets the "victory_hand" emoji. - Description: Victory hand. - - - - - Gets the "video_camera" emoji. - Description: Video camera. - - - - - Gets the "videocassette" emoji. - Description: Videocassette. - - - - - Gets the "video_game" emoji. - Description: Video game. - - - - - Gets the "violin" emoji. - Description: Violin. - - - - - Gets the "virgo" emoji. - Description: Virgo. - - - - - Gets the "volcano" emoji. - Description: Volcano. - - - - - Gets the "volleyball" emoji. - Description: Volleyball. - - - - - Gets the "vs_button" emoji. - Description: VS button. - - - - - Gets the "vulcan_salute" emoji. - Description: Vulcan salute. - - - - - Gets the "waffle" emoji. - Description: Waffle. - - - - - Gets the "waning_crescent_moon" emoji. - Description: Waning crescent moon. - - - - - Gets the "waning_gibbous_moon" emoji. - Description: Waning gibbous moon. - - - - - Gets the "warning" emoji. - Description: Warning. - - - - - Gets the "wastebasket" emoji. - Description: Wastebasket. - - - - - Gets the "watch" emoji. - Description: Watch. - - - - - Gets the "water_buffalo" emoji. - Description: Water buffalo. - - - - - Gets the "water_closet" emoji. - Description: Water closet. - - - - - Gets the "watermelon" emoji. - Description: Watermelon. - - - - - Gets the "water_pistol" emoji. - Description: Water pistol. - - - - - Gets the "water_wave" emoji. - Description: Water wave. - - - - - Gets the "waving_hand" emoji. - Description: Waving hand. - - - - - Gets the "wavy_dash" emoji. - Description: Wavy dash. - - - - - Gets the "waxing_crescent_moon" emoji. - Description: Waxing crescent moon. - - - - - Gets the "waxing_gibbous_moon" emoji. - Description: Waxing gibbous moon. - - - - - Gets the "weary_cat" emoji. - Description: Weary cat. - - - - - Gets the "weary_face" emoji. - Description: Weary face. - - - - - Gets the "wedding" emoji. - Description: Wedding. - - - - - Gets the "whale" emoji. - Description: Whale. - - - - - Gets the "wheelchair_symbol" emoji. - Description: Wheelchair symbol. - - - - - Gets the "wheel_of_dharma" emoji. - Description: Wheel of dharma. - - - - - Gets the "white_cane" emoji. - Description: White cane. - - - - - Gets the "white_circle" emoji. - Description: White circle. - - - - - Gets the "white_exclamation_mark" emoji. - Description: White exclamation mark. - - - - - Gets the "white_flag" emoji. - Description: White flag. - - - - - Gets the "white_flower" emoji. - Description: White flower. - - - - - Gets the "white_hair" emoji. - Description: White hair. - - - - - Gets the "white_heart" emoji. - Description: White heart. - - - - - Gets the "white_large_square" emoji. - Description: White large square. - - - - - Gets the "white_medium_small_square" emoji. - Description: white medium small square. - - - - - Gets the "white_medium_square" emoji. - Description: White medium square. - - - - - Gets the "white_question_mark" emoji. - Description: White question mark. - - - - - Gets the "white_small_square" emoji. - Description: White small square. - - - - - Gets the "white_square_button" emoji. - Description: White square button. - - - - - Gets the "wilted_flower" emoji. - Description: Wilted flower. - - - - - Gets the "wind_chime" emoji. - Description: Wind chime. - - - - - Gets the "wind_face" emoji. - Description: Wind face. - - - - - Gets the "window" emoji. - Description: Window. - - - - - Gets the "wine_glass" emoji. - Description: Wine glass. - - - - - Gets the "winking_face" emoji. - Description: Winking face. - - - - - Gets the "winking_face_with_tongue" emoji. - Description: Winking face with tongue. - - - - - Gets the "wolf" emoji. - Description: Wolf. - - - - - Gets the "woman" emoji. - Description: Woman. - - - - - Gets the "woman_and_man_holding_hands" emoji. - Description: Woman and man holding hands. - - - - - Gets the "woman_dancing" emoji. - Description: Woman dancing. - - - - - Gets the "womans_boot" emoji. - Description: Woman s boot. - - - - - Gets the "womans_clothes" emoji. - Description: Woman s clothes. - - - - - Gets the "womans_hat" emoji. - Description: Woman s hat. - - - - - Gets the "womans_sandal" emoji. - Description: Woman s sandal. - - - - - Gets the "woman_with_headscarf" emoji. - Description: Woman with headscarf. - - - - - Gets the "women_holding_hands" emoji. - Description: Women holding hands. - - - - - Gets the "womens_room" emoji. - Description: Women s room. - - - - - Gets the "wood" emoji. - Description: Wood. - - - - - Gets the "woozy_face" emoji. - Description: Woozy face. - - - - - Gets the "world_map" emoji. - Description: World map. - - - - - Gets the "worm" emoji. - Description: Worm. - - - - - Gets the "worried_face" emoji. - Description: Worried face. - - - - - Gets the "wrapped_gift" emoji. - Description: Wrapped gift. - - - - - Gets the "wrench" emoji. - Description: Wrench. - - - - - Gets the "writing_hand" emoji. - Description: Writing hand. - - - - - Gets the "yarn" emoji. - Description: Yarn. - - - - - Gets the "yawning_face" emoji. - Description: Yawning face. - - - - - Gets the "yellow_circle" emoji. - Description: Yellow circle. - - - - - Gets the "yellow_heart" emoji. - Description: Yellow heart. - - - - - Gets the "yellow_square" emoji. - Description: Yellow square. - - - - - Gets the "yen_banknote" emoji. - Description: Yen banknote. - - - - - Gets the "yin_yang" emoji. - Description: Yin yang. - - - - - Gets the "yo_yo" emoji. - Description: yo yo. - - - - - Gets the "zany_face" emoji. - Description: Zany face. - - - - - Gets the "zebra" emoji. - Description: Zebra. - - - - - Gets the "zipper_mouth_face" emoji. - Description: zipper mouth face. - - - - - Gets the "zombie" emoji. - Description: Zombie. - - - - - Gets the "zzz" emoji. - Description: Zzz. - - - - - Contains settings for profile enrichment. - - - - - Gets or sets a value indicating whether or not - any default enrichers should be added. - - Defaults to true. - - - - Gets or sets the list of custom enrichers to use. - - - - - Contains extension methods for . - - - - - Writes a VT/Ansi control code sequence to the console (if supported). - - The console to write to. - The VT/Ansi control code sequence to write. - - - - Gets the VT/ANSI control code sequence for a . - - The console. - The renderable to the VT/ANSI control code sequence for. - The VT/ANSI control code sequence. - - - - Contains extension methods for . - - - - - Sets the alignment for an object. - - The alignable object type. - The alignable object. - The alignment. - The same instance so that multiple calls can be chained. - - - - Sets the object to be left aligned. - - The alignable type. - The alignable object. - The same instance so that multiple calls can be chained. - - - - Sets the object to be centered. - - The alignable type. - The alignable object. - The same instance so that multiple calls can be chained. - - - - Sets the object to be right aligned. - - The alignable type. - The alignable object. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - Contains extension methods for . - - - - - Creates a recorder for the specified console. - - The console to record. - A recorder for the specified console. - - - - Clears the console. - - The console to clear. - - - - Writes the specified string value to the console. - - The console to write to. - The text to write. - - - - Writes the specified string value to the console. - - The console to write to. - The text to write. - The text style. - - - - Writes an empty line to the console. - - The console to write to. - - - - Writes the specified string value, followed by the current line terminator, to the console. - - The console to write to. - The text to write. - - - - Writes the specified string value, followed by the current line terminator, to the console. - - The console to write to. - The text to write. - The text style. - - - - Writes an exception to the console. - - The console. - The exception to write to the console. - The exception format options. - - - - Writes an exception to the console. - - The console. - The exception to write to the console. - The exception settings. - - - - Runs the specified function in exclusive mode. - - The result type. - The console. - The func to run in exclusive mode. - The result of the function. - - - - Runs the specified function in exclusive mode asynchronously. - - The result type. - The console. - The func to run in exclusive mode. - The result of the function. - - - - Writes the specified markup to the console. - - The console to write to. - A composite format string. - An array of objects to write. - - - - Writes the specified markup to the console. - - The console to write to. - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Writes the specified markup to the console. - - The console to write to. - The value to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - The console to write to. - A composite format string. - An array of objects to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - The console to write to. - The value to write. - - - - Writes the specified markup, followed by the current line terminator, to the console. - - The console to write to. - An object that supplies culture-specific formatting information. - A composite format string. - An array of objects to write. - - - - Creates a new instance for the console. - - The console. - A instance. - - - - Creates a new instance for the console. - - The console. - A instance. - - - - Displays a prompt to the user. - - The prompt result type. - The console. - The prompt to display. - The prompt input result. - - - - Displays a prompt to the user. - - The prompt result type. - The console. - The prompt markup text. - The prompt input result. - - - - Displays a prompt with two choices, yes or no. - - The console. - The prompt markup text. - true if the user selected "yes", otherwise false. - - - - Renders the specified object to the console. - - The console to render to. - The object to render. - - - - Contains extension methods for . - - - - - Adds an item to the bar chart. - - The bar chart. - The item label. - The item value. - The item color. - The same instance so that multiple calls can be chained. - - - - Adds an item to the bar chart. - - A type that implements . - The bar chart. - The item. - The same instance so that multiple calls can be chained. - - - - Adds multiple items to the bar chart. - - A type that implements . - The bar chart. - The items. - The same instance so that multiple calls can be chained. - - - - Adds multiple items to the bar chart. - - A type that implements . - The bar chart. - The items. - The converter that converts instances of T to . - The same instance so that multiple calls can be chained. - - - - Sets the width of the bar chart. - - The bar chart. - The bar chart width. - The same instance so that multiple calls can be chained. - - - - Sets the label of the bar chart. - - The bar chart. - The bar chart label. - The same instance so that multiple calls can be chained. - - - - Shows values next to each bar in the bar chart. - - The bar chart. - The same instance so that multiple calls can be chained. - - - - Hides values next to each bar in the bar chart. - - The bar chart. - The same instance so that multiple calls can be chained. - - - - Sets whether or not values should be shown - next to each bar. - - The bar chart. - Whether or not values should be shown next to each bar. - The same instance so that multiple calls can be chained. - - - - Aligns the label to the left. - - The bar chart. - The same instance so that multiple calls can be chained. - - - - Centers the label. - - The bar chart. - The same instance so that multiple calls can be chained. - - - - Aligns the label to the right. - - The bar chart. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Gets the safe border for a border. - - The border to get the safe border for. - Whether or not to return the safe border. - The safe border if one exist, otherwise the original border. - - - - Contains extension methods for . - - - - - Gets the safe border for a border. - - The border to get the safe border for. - Whether or not to return the safe border. - The safe border if one exist, otherwise the original border. - - - - Contains extension methods for . - - - - - Gets the safe border for a border. - - The tree guide to get the safe version for. - Whether or not to return the safe border. - The safe border if one exist, otherwise the original border. - - - - Represents something that can be rendered to the console. - - - - - Measures the renderable object. - - The render context. - The maximum allowed width. - The minimum and maximum width of the object. - - - - Renders the object. - - The render context. - The maximum allowed width. - A collection of segments. - - - - Represents the different parts of a box border. - - - - - The top left part of a box. - - - - - The top part of a box. - - - - - The top right part of a box. - - - - - The left part of a box. - - - - - The right part of a box. - - - - - The bottom left part of a box. - - - - - The bottom part of a box. - - - - - The bottom right part of a box. - - - - - Represents an old school ASCII border. - - - - - - - - Represents a double border. - - - - - - - - Represents a heavy border. - - - - - - - - - - - Represents an invisible border. - - - - - - - - Represents a rounded border. - - - - - - - - - - - Represents a square border. - - - - - - - - Represents the different parts of a table border. - - - - - The top left part of a header. - - - - - The top part of a header. - - - - - The top separator part of a header. - - - - - The top right part of a header. - - - - - The left part of a header. - - - - - A header separator. - - - - - The right part of a header. - - - - - The bottom left part of a header. - - - - - The bottom part of a header. - - - - - The bottom separator part of a header. - - - - - The bottom right part of a header. - - - - - The top left part of a footer. - - - - - The top part of a footer. - - - - - The top separator part of a footer. - - - - - The top right part of a footer. - - - - - The left part of a cell. - - - - - A cell separator. - - - - - The right part of a cell. - - - - - The bottom left part of a footer. - - - - - The bottom part of a footer. - - - - - The bottom separator part of a footer. - - - - - The bottom right part of a footer. - - - - - Represents another old school ASCII border. - - - - - - - - Represents an old school ASCII border with a double header border. - - - - - - - - Represents an old school ASCII border. - - - - - - - - Represents a border with a double edge. - - - - - - - - Represents a double border. - - - - - - - - Represents a border with a heavy edge. - - - - - - - - - - - Represents a border with a heavy header. - - - - - - - - - - - Represents a heavy border. - - - - - - - - - - - Represents a horizontal border. - - - - - - - - Represents a Markdown border. - - - - - - - - - - - Represents a minimal border with a double header border. - - - - - - - - Represents a minimal border with a heavy header. - - - - - - - - - - - Represents a minimal border. - - - - - - - - Represents an invisible border. - - - - - - - - - - - Represents a rounded border. - - - - - - - - - - - Represents a simple border with heavy lines. - - - - - - - - - - - Represents a simple border. - - - - - - - - Represents a square border. - - - - - - - - Represents a console encoder that can encode - recorded segments into a string. - - - - - Encodes the specified enumerator. - - The console to use when encoding. - The renderable objects to encode. - A string representing the encoded result. - - - - Represents something that can be dirty. - - - - - Gets a value indicating whether the object is dirty. - - - - - Represents a render hook. - - - - - Processes the specified renderables. - - The render context. - The renderables to process. - The processed renderables. - - - - Represents something renderable that's reconstructed - when it's state change in any way. - - - - - - - - - - - Builds the inner renderable. - - A new inner renderable. - - - - Checks if there are any children that has changed. - If so, the underlying renderable needs rebuilding. - - true if the object needs rebuilding, otherwise false. - - - - Marks this instance as dirty. - - - - - Marks this instance as dirty. - - - The action to execute before marking the instance as dirty. - - - - - Represents a measurement. - - - - - Gets the minimum width. - - - - - Gets the maximum width. - - - - - Initializes a new instance of the struct. - - The minimum width. - The maximum width. - - - - - - - - - - - - - Checks if two instances are equal. - - The first measurement instance to compare. - The second measurement instance to compare. - true if the two measurements are equal, otherwise false. - - - - Checks if two instances are not equal. - - The first measurement instance to compare. - The second measurement instance to compare. - true if the two measurements are not equal, otherwise false. - - - - Base class for a renderable object implementing . - - - - - - - - - - - Measures the renderable object. - - The render context. - The maximum allowed width. - The minimum and maximum width of the object. - - - - Renders the object. - - The render context. - The maximum allowed width. - A collection of segments. - - - - Represents a render context. - - - - - Gets the current color system. - - - - - Gets a value indicating whether or not VT/Ansi codes are supported. - - - - - Gets a value indicating whether or not unicode is supported. - - - - - Gets the current justification. - - - - - Gets a value indicating whether the context want items to render without - line breaks and return a single line where applicable. - - - - - Initializes a new instance of the class. - - The capabilities. - The justification. - - - - Creates a new context with the specified justification. - - The justification. - A new instance. - - - - Creates a new context that tell instances - to not care about splitting things in new lines. Whether or not to - comply to the request is up to the item being rendered. - - - Use with care since this has the potential to mess things up. - Only use this kind of context with items that you know about. - - A new instance. - - - - Represents a render hook scope. - - - - - Initializes a new instance of the class. - - The console to attach the render hook to. - The render hook. - - - - - - - Represents the render pipeline. - - - - - Initializes a new instance of the class. - - - - - Attaches a new render hook onto the pipeline. - - The render hook to attach. - - - - Detaches a render hook from the pipeline. - - The render hook to detach. - - - - Processes the specified renderables. - - The render context. - The renderables to process. - The processed renderables. - - - - Represents a renderable segment. - - - - - Gets the segment text. - - - - - Gets a value indicating whether or not this is an explicit line break - that should be preserved. - - - - - Gets a value indicating whether or not this is a whitespace - that should be preserved but not taken into account when - layouting text. - - - - - Gets a value indicating whether or not his is a - control code such as cursor movement. - - - - - Gets the segment style. - - - - - Gets a segment representing a line break. - - - - - Gets an empty segment. - - - - - Creates padding segment. - - Number of whitespace characters. - Segment for specified padding size. - - - - Initializes a new instance of the class. - - The segment text. - - - - Initializes a new instance of the class. - - The segment text. - The segment style. - - - - Creates a control segment. - - The control code. - A segment representing a control code. - - - - Gets the number of cells that this segment - occupies in the console. - - The number of cells that this segment occupies in the console. - - - - Gets the number of cells that the segments occupies in the console. - - The segments to measure. - The number of cells that the segments occupies in the console. - - - - Returns a new segment without any trailing line endings. - - A new segment without any trailing line endings. - - - - Splits the segment at the offset. - - The offset where to split the segment. - One or two new segments representing the split. - - - - Clones the segment. - - A new segment that's identical to this one. - - - - Splits the provided segments into lines. - - The segments to split. - A collection of lines. - - - - Splits the provided segments into lines with a maximum width. - - The segments to split into lines. - The maximum width. - A list of lines. - - - - Splits an overflowing segment into several new segments. - - The segment to split. - The overflow strategy to use. - The maximum width. - A list of segments that has been split. - - - - Truncates the segments to the specified width. - - The segments to truncate. - The maximum width that the segments may occupy. - A list of segments that has been truncated. - - - - Truncates the segment to the specified width. - - The segment to truncate. - The maximum width that the segment may occupy. - A new truncated segment, or null. - - - - Represents a collection of segments. - - - - - Gets the width of the line. - - - - - Gets the number of cells the segment line occupies. - - The cell width of the segment line. - - - - Preprends a segment to the line. - - The segment to prepend. - - - - An enumerator for collections. - - - - - Initializes a new instance of the class. - - The lines to enumerate. - - - - - - - - - - An iterator for collections. - - - - - Gets the current segment. - - - - - - - - Initializes a new instance of the class. - - The lines to iterate. - - - - - - - - - - - - - Represents different parts of a table. - - - - - The top of a table. - - - - - The separator between the header and the cells. - - - - - The separator between the footer and the cells. - - - - - The bottom of a table. - - - - - Defines the different rendering parts of a . - - - - - Represents a space. - - - - - Connection between siblings. - - - - - Branch from parent to child. - - - - - Branch from parent to child for the last child in a set. - - - - - An ASCII tree guide. - - - - - - - - A tree guide made up of bold lines. - - - - - - - - - - - A tree guide made up of double lines. - - - - - - - - - - - A tree guide made up of lines. - - - - - - - - - - - Contains extension methods for . - - - - - Adds an item to the breakdown chart. - - The breakdown chart. - The item label. - The item value. - The item color. - The same instance so that multiple calls can be chained. - - - - Adds an item to the breakdown chart. - - A type that implements . - The breakdown chart. - The item. - The same instance so that multiple calls can be chained. - - - - Adds multiple items to the breakdown chart. - - A type that implements . - The breakdown chart. - The items. - The same instance so that multiple calls can be chained. - - - - Adds multiple items to the breakdown chart. - - A type that implements . - The breakdown chart. - The items. - The converter that converts instances of T to . - The same instance so that multiple calls can be chained. - - - - Sets the width of the breakdown chart. - - The breakdown chart. - The breakdown chart width. - The same instance so that multiple calls can be chained. - - - - Tags will be shown. - - The breakdown chart. - The value formatter to use. - The same instance so that multiple calls can be chained. - - - - Tags will be shown. - - The breakdown chart. - The value formatter to use. - The same instance so that multiple calls can be chained. - - - - Tags will be shown. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Tags will be shown. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Tags will be not be shown. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Sets whether or not tags will be shown. - - The breakdown chart. - Whether or not tags will be shown. - The same instance so that multiple calls can be chained. - - - - Tag values will be shown. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Tag values will be not be shown. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Sets whether or not tag values will be shown. - - The breakdown chart. - Whether or not tag values will be shown. - The same instance so that multiple calls can be chained. - - - - Chart and tags is rendered in compact mode. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Chart and tags is rendered in full size mode. - - The breakdown chart. - The same instance so that multiple calls can be chained. - - - - Sets whether or not the chart and tags should be rendered in compact mode. - - The breakdown chart. - Whether or not the chart and tags should be rendered in compact mode. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Adds a calendar event. - - The calendar to add the calendar event to. - The calendar event date. - The same instance so that multiple calls can be chained. - - - - Adds a calendar event. - - The calendar to add the calendar event to. - The calendar event description. - The calendar event date. - The same instance so that multiple calls can be chained. - - - - Adds a calendar event. - - The calendar to add the calendar event to. - The year of the calendar event. - The month of the calendar event. - The day of the calendar event. - The same instance so that multiple calls can be chained. - - - - Adds a calendar event. - - The calendar. - The calendar event description. - The year of the calendar event. - The month of the calendar event. - The day of the calendar event. - The same instance so that multiple calls can be chained. - - - - Sets the calendar's highlight . - - The calendar. - The highlight style. - The same instance so that multiple calls can be chained. - - - - Sets the calendar's header . - - The calendar. - The header style. - The same instance so that multiple calls can be chained. - - - - Shows the calendar header. - - The calendar. - The same instance so that multiple calls can be chained. - - - - Hides the calendar header. - - The calendar. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Prevents a column from wrapping. - - An object implementing . - The column. - The same instance so that multiple calls can be chained. - - - - Sets the width of the column. - - An object implementing . - The column. - The column width. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Show or hide choices. - - The prompt. - Whether or not the choices should be visible. - The same instance so that multiple calls can be chained. - - - - Shows choices. - - The prompt. - The same instance so that multiple calls can be chained. - - - - Hides choices. - - The prompt. - The same instance so that multiple calls can be chained. - - - - Show or hide the default value. - - The prompt. - Whether or not the default value should be visible. - The same instance so that multiple calls can be chained. - - - - Shows the default value. - - The prompt. - The same instance so that multiple calls can be chained. - - - - Hides the default value. - - The prompt. - The same instance so that multiple calls can be chained. - - - - Sets the "invalid choice" message for the prompt. - - The prompt. - The "invalid choice" message. - The same instance so that multiple calls can be chained. - - - - Sets the character to interpret as "yes". - - The confirmation prompt. - The character to interpret as "yes". - The same instance so that multiple calls can be chained. - - - - Sets the character to interpret as "no". - - The confirmation prompt. - The character to interpret as "no". - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Shows the cursor. - - The cursor. - - - - Hides the cursor. - - The cursor. - - - - Moves the cursor up. - - The cursor. - - - - Moves the cursor up. - - The cursor. - The number of steps to move the cursor. - - - - Moves the cursor down. - - The cursor. - - - - Moves the cursor down. - - The cursor. - The number of steps to move the cursor. - - - - Moves the cursor to the left. - - The cursor. - - - - Moves the cursor to the left. - - The cursor. - The number of steps to move the cursor. - - - - Moves the cursor to the right. - - The cursor. - - - - Moves the cursor to the right. - - The cursor. - The number of steps to move the cursor. - - - - Contains extension methods for . - - - - - Gets a representation of the exception. - - The exception to format. - The exception format options. - A representing the exception. - - - - Gets a representation of the exception. - - The exception to format. - The exception settings. - A representing the exception. - - - - Contains extension methods for . - - - - - Tells the specified object to not expand to the available area - but take as little space as possible. - - The expandable object. - The object to collapse. - The same instance so that multiple calls can be chained. - - - - Tells the specified object to expand to the available area. - - The expandable object. - The object to expand. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the color of the FIGlet text. - - The text. - The color. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Adds a column to the grid. - - The grid to add the column to. - The number of columns to add. - The same instance so that multiple calls can be chained. - - - - Adds a column to the grid. - - The grid to add the column to. - The columns to add. - The same instance so that multiple calls can be chained. - - - - Adds an empty row to the grid. - - The grid to add the row to. - The same instance so that multiple calls can be chained. - - - - Adds a new row to the grid. - - The grid to add the row to. - The columns to add. - The same instance so that multiple calls can be chained. - - - - Sets the grid width. - - The grid. - The width. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Enables the safe border. - - An object type with a border. - The object to enable the safe border for. - The same instance so that multiple calls can be chained. - - - - Disables the safe border. - - An object type with a border. - The object to disable the safe border for. - The same instance so that multiple calls can be chained. - - - - Sets the border style. - - An object type with a border. - The object to set the border style for. - The border style to set. - The same instance so that multiple calls can be chained. - - - - Sets the border color. - - An object type with a border. - The object to set the border color for. - The border color to set. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the border. - - An object type with a border. - The object to set the border for. - The border to use. - The same instance so that multiple calls can be chained. - - - - Do not display a border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a square border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display an ASCII border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a rounded border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a heavy border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a double border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the culture. - - An object type with a culture. - The object to set the culture for. - The culture to set. - The same instance so that multiple calls can be chained. - - - - Sets the culture. - - An object type with a culture. - The object to set the culture for. - The culture to set. - The same instance so that multiple calls can be chained. - - - - Sets the culture. - - An object type with a culture. - The object to set the culture for. - The culture to set. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Do not display a border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a square border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display an ASCII border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display another ASCII border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display an ASCII border with a double header border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a rounded border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a minimal border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a minimal border with a heavy head. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a minimal border with a double header border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a simple border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a simple border with heavy lines. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a simple border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a heavy border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a border with a heavy edge. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a border with a heavy header. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a double border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a border with a double edge. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Display a markdown border. - - An object type with a border. - The object to set the border for. - The same instance so that multiple calls can be chained. - - - - Sets the border. - - An object type with a border. - The object to set the border for. - The border to use. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Adds a tree node. - - An object with tree nodes. - The object to add the tree node to. - The node's markup text. - The added tree node. - - - - Adds a tree node. - - An object with tree nodes. - The object to add the tree node to. - The renderable to add. - The added tree node. - - - - Adds a tree node. - - An object with tree nodes. - The object to add the tree node to. - The tree node to add. - The added tree node. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Add multiple tree nodes. - - An object with tree nodes. - The object to add the tree nodes to. - The tree nodes to add. - - - - Contains extension methods for . - - - - - Folds any overflowing text. - - An object implementing . - The overflowable object instance. - The same instance so that multiple calls can be chained. - - - - Crops any overflowing text. - - An object implementing . - The overflowable object instance. - The same instance so that multiple calls can be chained. - - - - Crops any overflowing text and adds an ellipsis to the end. - - An object implementing . - The overflowable object instance. - The same instance so that multiple calls can be chained. - - - - Sets the overflow strategy. - - An object implementing . - The overflowable object instance. - The overflow strategy to use. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the left padding. - - An object implementing . - The paddable object instance. - The left padding. - The same instance so that multiple calls can be chained. - - - - Sets the top padding. - - An object implementing . - The paddable object instance. - The top padding. - The same instance so that multiple calls can be chained. - - - - Sets the right padding. - - An object implementing . - The paddable object instance. - The right padding. - The same instance so that multiple calls can be chained. - - - - Sets the bottom padding. - - An object implementing . - The paddable object instance. - The bottom padding. - The same instance so that multiple calls can be chained. - - - - Sets the left, top, right and bottom padding. - - An object implementing . - The paddable object instance. - The left padding to apply. - The top padding to apply. - The right padding to apply. - The bottom padding to apply. - The same instance so that multiple calls can be chained. - - - - Sets the horizontal and vertical padding. - - An object implementing . - The paddable object instance. - The left and right padding. - The top and bottom padding. - The same instance so that multiple calls can be chained. - - - - Sets the padding. - - An object implementing . - The paddable object instance. - The padding to apply. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Gets the left padding. - - The padding. - The left padding or zero if padding is null. - - - - Gets the right padding. - - The padding. - The right padding or zero if padding is null. - - - - Gets the top padding. - - The padding. - The top padding or zero if padding is null. - - - - Gets the bottom padding. - - The padding. - The bottom padding or zero if padding is null. - - - - Contains extension methods for . - - - - - Sets the panel header. - - The panel. - The header text. - The header alignment. - The same instance so that multiple calls can be chained. - - - - Sets the panel header alignment. - - The panel. - The header alignment. - The same instance so that multiple calls can be chained. - - - - Sets the panel header. - - The panel. - The header to use. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the style for a non-complete task. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Sets the style for a completed task. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the style of completed portions of the progress bar. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Sets the style of a finished progress bar. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Sets the style of remaining portions of the progress bar. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the columns to be used for an instance. - - The instance. - The columns to use. - The same instance so that multiple calls can be chained. - - - - Sets whether or not auto refresh is enabled. - If disabled, you will manually have to refresh the progress. - - The instance. - Whether or not auto refresh is enabled. - The same instance so that multiple calls can be chained. - - - - Sets whether or not auto clear is enabled. - If enabled, the task tabled will be removed once - all tasks have completed. - - The instance. - Whether or not auto clear is enabled. - The same instance so that multiple calls can be chained. - - - - Sets whether or not hide completed is enabled. - If enabled, the task tabled will be removed once it is - completed. - - The instance. - Whether or not hide completed is enabled. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the task description. - - The task. - The description. - The same instance so that multiple calls can be chained. - - - - Sets the max value of the task. - - The task. - The max value. - The same instance so that multiple calls can be chained. - - - - Sets the value of the task. - - The task. - The value. - The same instance so that multiple calls can be chained. - - - - Sets whether the task is considered indeterminate or not. - - The task. - Whether the task is considered indeterminate or not. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the style of the remaining time text. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the style of the spinner. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Sets the text that should be shown instead of the spinner - once a task completes. - - The column. - The text. - The same instance so that multiple calls can be chained. - - - - Sets the completed style of the spinner. - - The column. - The style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the status message. - - The status context. - The status message. - The same instance so that multiple calls can be chained. - - - - Sets the spinner. - - The status context. - The spinner. - The same instance so that multiple calls can be chained. - - - - Sets the spinner style. - - The status context. - The spinner style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets whether or not auto refresh is enabled. - If disabled, you will manually have to refresh the progress. - - The instance. - Whether or not auto refresh is enabled. - The same instance so that multiple calls can be chained. - - - - Sets the spinner. - - The instance. - The spinner. - The same instance so that multiple calls can be chained. - - - - Sets the spinner style. - - The instance. - The spinner style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Exports the recorded content as text. - - The recorder. - The recorded content as text. - - - - Exports the recorded content as HTML. - - The recorder. - The recorded content as HTML. - - - - Contains extension methods for . - - - - - Gets the segments for a renderable using the specified console. - - The renderable. - The console. - An enumerable containing segments representing the specified . - - - - Contains extension methods for . - - - - - Sets the rule title. - - The rule. - The title. - The same instance so that multiple calls can be chained. - - - - Sets the rule style. - - The rule. - The rule style. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Escapes text so that it won’t be interpreted as markup. - - The text to escape. - A string that is safe to use in markup. - - - - Removes markup from the specified string. - - The text to remove markup from. - A string that does not have any markup. - - - - Contains extension methods for . - - - - - Creates a new style from the specified one with - the specified foreground color. - - The style. - The foreground color. - The same instance so that multiple calls can be chained. - - - - Creates a new style from the specified one with - the specified background color. - - The style. - The background color. - The same instance so that multiple calls can be chained. - - - - Creates a new style from the specified one with - the specified text decoration. - - The style. - The text decoration. - The same instance so that multiple calls can be chained. - - - - Creates a new style from the specified one with - the specified link. - - The style. - The link. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the table column footer. - - The table column. - The table column markup text. - The same instance so that multiple calls can be chained. - - - - Sets the table column footer. - - The table column. - The table column footer. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Adds multiple columns to the table. - - The table to add the column to. - The columns to add. - The same instance so that multiple calls can be chained. - - - - Adds a row to the table. - - The table to add the row to. - The row columns to add. - The same instance so that multiple calls can be chained. - - - - Adds an empty row to the table. - - The table to add the row to. - The same instance so that multiple calls can be chained. - - - - Adds a column to the table. - - The table to add the column to. - The column to add. - Delegate that can be used to configure the added column. - The same instance so that multiple calls can be chained. - - - - Adds multiple columns to the table. - - The table to add the columns to. - The columns to add. - The same instance so that multiple calls can be chained. - - - - Adds a row to the table. - - The table to add the row to. - The row columns to add. - The same instance so that multiple calls can be chained. - - - - Sets the table width. - - The table. - The width. - The same instance so that multiple calls can be chained. - - - - Shows table headers. - - The table. - The same instance so that multiple calls can be chained. - - - - Hides table headers. - - The table. - The same instance so that multiple calls can be chained. - - - - Shows table footers. - - The table. - The same instance so that multiple calls can be chained. - - - - Hides table footers. - - The table. - The same instance so that multiple calls can be chained. - - - - Sets the table title. - - The table. - The table title markup text. - The table title style. - The same instance so that multiple calls can be chained. - - - - Sets the table title. - - The table. - The table title. - The same instance so that multiple calls can be chained. - - - - Sets the table caption. - - The table. - The caption markup text. - The style. - The same instance so that multiple calls can be chained. - - - - Sets the table caption. - - The table. - The caption. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Sets the tree style. - - The tree. - The tree style. - The same instance so that multiple calls can be chained. - - - - Sets the tree guide line appearance. - - The tree. - The tree guide lines to use. - The same instance so that multiple calls can be chained. - - - - Contains extension methods for . - - - - - Expands the tree. - - The tree node. - The same instance so that multiple calls can be chained. - - - - Collapses the tree. - - The tree node. - The same instance so that multiple calls can be chained. - - - - Sets whether or not the tree node should be expanded. - - The tree node. - Whether or not the tree node should be expanded. - The same instance so that multiple calls can be chained. - - - - Represents something that is alignable. - - - - - Gets or sets the alignment. - - - - - Represents a console. - - - - - Gets the console profile. - - - - - Gets the console cursor. - - - - - Gets the console input. - - - - - Gets the exclusivity mode. - - - - - Gets the render pipeline. - - - - - Clears the console. - - If the cursor should be moved to the home position. - - - - Writes a to the console. - - The to write. - - - - Represents the console's cursor. - - - - - Shows or hides the cursor. - - true to show the cursor, false to hide it. - - - - Sets the cursor position. - - The column to move the cursor to. - The line to move the cursor to. - - - - Moves the cursor relative to the current position. - - The direction to move the cursor. - The number of steps to move the cursor. - - - - Represents the console's input mechanism. - - - - - Reads a key from the console. - - Whether or not to intercept the key. - The key that was read. - - - - Represents console output. - - - - - Gets the used to write to the output. - - - - - Gets a value indicating whether or not the output is a terminal. - - - - - Gets the output width. - - - - - Gets the output height. - - - - - Sets the output encoding. - - The encoding. - - - - Represents a column. - - - - - Gets or sets a value indicating whether - or not wrapping should be prevented. - - - - - Gets or sets the width of the column. - - - - - Represents an exclusivity mode. - - - - - Runs the specified function in exclusive mode. - - The result type. - The func to run in exclusive mode. - The result of the function. - - - - Runs the specified function in exclusive mode asynchronously. - - The result type. - The func to run in exclusive mode. - The result of the function. - - - - Represents something that is expandable. - - - - - Gets or sets a value indicating whether or not the object should - expand to the available space. If false, the object's - width will be auto calculated. - - - - - Represents something that has a border. - - - - - Gets or sets a value indicating whether or not to use - a "safe" border on legacy consoles that might not be able - to render non-ASCII characters. - - - - - Gets or sets the box style. - - - - - Represents something that has a box border. - - - - - Gets or sets the box. - - - - - Represents something that has a culture. - - - - - Gets or sets the culture. - - - - - Represents something that has a border. - - - - - Gets or sets the border. - - - - - Represents something that has tree nodes. - - - - - Gets the tree's child nodes. - - - - - Determines interactivity support. - - - - - Interaction support should be - detected by the system. - - - - - Interactivity is supported. - - - - - Interactivity is not supported. - - - - - The ASCII escape character (decimal 27). - - - - - Introduces a control sequence that uses 8-bit characters. - - - - - Text cursor enable. - - - See . - - - - - This control function selects one or more character attributes at the same time. - - - See . - - The ANSI escape code. - - - - This control function erases characters from part or all of the display. - When you erase complete lines, they become single-height, single-width lines, - with all visual character attributes cleared. - ED works inside or outside the scrolling margins. - - - See . - - The ANSI escape code. - - - - Moves the cursor up a specified number of lines in the same column. - The cursor stops at the top margin. - If the cursor is already above the top margin, then the cursor stops at the top line. - - - See . - - The number of steps to move up. - The ANSI escape code. - - - - This control function moves the cursor down a specified number of lines in the same column. - The cursor stops at the bottom margin. - If the cursor is already below the bottom margin, then the cursor stops at the bottom line. - - - See . - - The number of steps to move down. - The ANSI escape code. - - - - This control function moves the cursor to the right by a specified number of columns. - The cursor stops at the right border of the page. - - - See . - - The number of steps to move forward. - The ANSI escape code. - - - - This control function moves the cursor to the left by a specified number of columns. - The cursor stops at the left border of the page. - - - See . - - The number of steps to move backward. - The ANSI escape code. - - - - Moves the cursor to the specified position. - - The line to move to. - The column to move to. - - See . - - The ANSI escape code. - - - - Hides the cursor. - - - See . - - The ANSI escape code. - - - - Shows the cursor. - - - See . - - The ANSI escape code. - - - - This control function erases characters on the line that has the cursor. - EL clears all character attributes from erased character positions. - EL works inside or outside the scrolling margins. - - - See . - - The ANSI escape code. - - - - Represents a console backend. - - - - - Gets the console cursor for the backend. - - - - - Clears the console. - - If the cursor should be moved to the home position. - - - - Writes a to the console backend. - - The to write. - - - - Represents something that can overflow. - - - - - Gets or sets the text overflow strategy. - - - - - Represents something that is paddable. - - - - - Gets or sets the padding. - - - - - Represents something that can enrich a profile. - - - - - Gets the name of the enricher. - - - - - Gets whether or not this enricher is enabled. - - The environment variables. - Whether or not this enricher is enabled. - - - - Enriches the profile. - - The profile to enrich. - - - - Represents (read-only) console capabilities. - - - - - Gets the color system. - - - - - Gets a value indicating whether or not - the console supports VT/ANSI control codes. - - - - - Gets a value indicating whether or not - the console support links. - - - - - Gets a value indicating whether or not - this is a legacy console (cmd.exe) on an OS - prior to Windows 10. - - - Only relevant when running on Microsoft Windows. - - - - - Gets a value indicating whether or not - console output has been redirected. - - - - - Gets a value indicating whether - or not the console supports interaction. - - - - - Gets a value indicating whether - or not the console supports Unicode. - - - - - Represents text justification. - - - - - Left aligned. - - - - - Right aligned. - - - - - Centered. - - - - - Represents text overflow. - - - - - Put any excess characters on the next line. - - - - - Truncates the text at the end of the line. - - - - - Truncates the text at the end of the line and - also inserts an ellipsis character. - - - - - Represents padding. - - - - - Gets the left padding. - - - - - Gets the top padding. - - - - - Gets the right padding. - - - - - Gets the bottom padding. - - - - - Initializes a new instance of the struct. - - The padding for all sides. - - - - Initializes a new instance of the struct. - - The left and right padding. - The top and bottom padding. - - - - Initializes a new instance of the struct. - - The left padding. - The top padding. - The right padding. - The bottom padding. - - - - - - - - - - - - - Checks if two instances are equal. - - The first instance to compare. - The second instance to compare. - true if the two instances are equal, otherwise false. - - - - Checks if two instances are not equal. - - The first instance to compare. - The second instance to compare. - true if the two instances are not equal, otherwise false. - - - - Gets the padding width. - - The padding width. - - - - Gets the padding height. - - The padding height. - - - - Represents a console profile. - - - - - Gets the enrichers used to build this profile. - - - - - Gets or sets the out buffer. - - - - - Gets or sets the console output encoding. - - - - - Gets or sets an explicit console width. - - - - - Gets or sets an explicit console height. - - - - - Gets or sets the capabilities of the profile. - - - - - Initializes a new instance of the class. - - The output buffer. - The output encoding. - - - - Checks whether the current profile supports - the specified color system. - - The color system to check. - true if the color system is supported, otherwise false. - - - - A console recorder used to record output from a console. - - - - - - - - - - - - - - - - - - - - Initializes a new instance of the class. - - The console to record output for. - - - - - - - - - - - - - Exports the recorded data. - - The encoder. - The recorded data represented as a string. - - - - Represents color and text decoration. - - - - - Gets the foreground color. - - - - - Gets the background color. - - - - - Gets the text decoration. - - - - - Gets the link associated with the style. - - - - - Gets an with the - default colors and without text decoration. - - - - - Initializes a new instance of the class. - - The foreground color. - The background color. - The text decoration. - The link. - - - - Creates a new style from the specified foreground color. - - The foreground color. - A new with the specified foreground color. - - - - Creates a new style from the specified background color. - - The background color. - A new with the specified background color. - - - - Creates a new style from the specified text decoration. - - The text decoration. - A new with the specified text decoration. - - - - Creates a new style from the specified link. - - The link. - A new with the specified link. - - - - Combines this style with another one. - - The item to combine with this. - A new style representing a combination of this and the other one. - - - - Implicitly converts into a . - - The style string. - - - - Converts the string representation of a style to its equivalent. - - A string containing a style to parse. - A equivalent of the text contained in . - - - - Converts the string representation of a style to its equivalent. - A return value indicates whether the operation succeeded. - - A string containing a style to parse. - - When this method returns, contains the equivalent of the text contained in , - if the conversion succeeded, or null if the conversion failed. - - true if s was converted successfully; otherwise, false. - - - - - - - Returns the markup representation of this style. - - The markup representation of this style. - - - - - - - - - - Represents a border. - - - Represents a border. - - - - - Gets a value indicating whether or not the border is visible. - - - - - Gets the safe border for this border or null if none exist. - - - - - Gets the string representation of a specified table border part. - - The part to get the character representation for. - A character representation of the specified border part. - - - - Gets a whole column row for the specific column row part. - - The column row part. - The column widths. - The columns. - A string representing the column row. - - - - Gets the table parts used to render a specific table row. - - The table part. - The table parts used to render the specific table row. - - - - Gets an invisible border. - - - - - Gets an ASCII border. - - - - - Gets an ASCII border. - - - - - Gets an ASCII border with a double header border. - - - - - Gets a square border. - - - - - Gets a rounded border. - - - - - Gets a minimal border. - - - - - Gets a minimal border with a heavy head. - - - - - Gets a minimal border with a double header border. - - - - - Gets a simple border. - - - - - Gets a simple border with heavy lines. - - - - - Gets a horizontal border. - - - - - Gets a heavy border. - - - - - Gets a border with a heavy edge. - - - - - Gets a border with a heavy header. - - - - - Gets a double border. - - - - - Gets a border with a double edge. - - - - - Gets a markdown border. - - - - - Represents tree guide lines. - - - Represents tree guide lines. - - - - - Gets the safe guide lines or null if none exist. - - - - - Get the set of characters used to render the corresponding . - - The part of the tree to get rendering string for. - Rendering string for the tree part. - - - - Gets an instance. - - - - - Gets a instance. - - - - - Gets a instance. - - - - - Gets a instance. - - - - - A renderable calendar. - - - - - Gets or sets the calendar year. - - - - - Gets or sets the calendar month. - - - - - Gets or sets the calendar day. - - - - - - - - - - - - - - Gets or sets the calendar's . - - - - - Gets or sets the calendar's highlight . - - - - - Gets or sets a value indicating whether or not the calendar header should be shown. - - - - - Gets or sets the header style. - - - - - - - - Gets a list containing all calendar events. - - - - - Initializes a new instance of the class. - - The calendar date. - - - - Initializes a new instance of the class. - - The calendar year. - The calendar month. - - - - Initializes a new instance of the class. - - The calendar year. - The calendar month. - The calendar day. - - - - - - - Represents a calendar event. - - - - - Gets the description of the calendar event. - - - - - Gets the year of the calendar event. - - - - - Gets the month of the calendar event. - - - - - Gets the day of the calendar event. - - - - - Initializes a new instance of the class. - - The year of the calendar event. - The month of the calendar event. - The day of the calendar event. - - - - Initializes a new instance of the class. - - The calendar event description. - The year of the calendar event. - The month of the calendar event. - The day of the calendar event. - - - - Represents a renderable canvas. - - - - - Gets the width of the canvas. - - - - - Gets the height of the canvas. - - - - - Gets or sets the render width of the canvas. - - - - - Gets or sets a value indicating whether or not - to scale the canvas when rendering. - - - - - Gets or sets the pixel width. - - - - - Initializes a new instance of the class. - - The canvas width. - The canvas height. - - - - Sets a pixel with the specified color in the canvas at the specified location. - - The X coordinate for the pixel. - The Y coordinate for the pixel. - The pixel color. - The same instance so that multiple calls can be chained. - - - - - - - - - - A renderable (horizontal) bar chart. - - - - - Gets the bar chart data. - - - - - Gets or sets the width of the bar chart. - - - - - Gets or sets the bar chart label. - - - - - Gets or sets the bar chart label alignment. - - - - - Gets or sets a value indicating whether or not - values should be shown next to each bar. - - - - - Gets or sets the culture that's used to format values. - - Defaults to invariant culture. - - - - Initializes a new instance of the class. - - - - - - - - - - - An item that's shown in a bar chart. - - - - - Gets the item label. - - - - - Gets the item value. - - - - - Gets the item color. - - - - - Initializes a new instance of the class. - - The item label. - The item value. - The item color. - - - - A renderable breakdown chart. - - - - - Gets the breakdown chart data. - - - - - Gets or sets the width of the breakdown chart. - - - - - Gets or sets a value indicating whether or not to show tags. - - - - - Gets or sets a value indicating whether or not to show tag values. - - - - - Gets or sets the tag value formatter. - - - - - Gets or sets a value indicating whether or not the - chart and tags should be rendered in compact mode. - - - - - Gets or sets the to use - when rendering values. - - Defaults to invariant culture. - - - - Initializes a new instance of the class. - - - - - - - - - - - An item that's shown in a breakdown chart. - - - - - Gets the item label. - - - - - Gets the item value. - - - - - Gets the item color. - - - - - Initializes a new instance of the class. - - The item label. - The item value. - The item color. - - - - Represents a bar chart item. - - - - - Gets the item label. - - - - - Gets the item value. - - - - - Gets the item color. - - - - - Represents a breakdown chart item. - - - - - Gets the item label. - - - - - Gets the item value. - - - - - Gets the item color. - - - - - Indicates that the tree being rendered includes a cycle, and cannot be rendered. - - - - - Renders things in columns. - - - - - - - - Gets or sets a value indicating whether or not the columns should - expand to the available space. If false, the column - width will be auto calculated. Defaults to true. - - - - - Initializes a new instance of the class. - - The items to render as columns. - - - - Initializes a new instance of the class. - - The items to render as columns. - - - - Initializes a new instance of the class. - - The items to render. - - - - - - - - - - Represents how an exception is formatted. - - - - - The default formatting. - - - - - Whether or not paths should be shortened. - - - - - Whether or not types should be shortened. - - - - - Whether or not methods should be shortened. - - - - - Whether or not to show paths as links in the terminal. - - - - - Shortens everything that can be shortened. - - - - - Exception settings. - - - - - Gets or sets the exception format. - - - - - Gets or sets the exception style. - - - - - Initializes a new instance of the class. - - - - - Represent an exception style. - - - - - Gets or sets the message color. - - - - - Gets or sets the exception color. - - - - - Gets or sets the method color. - - - - - Gets or sets the parameter type color. - - - - - Gets or sets the parameter name color. - - - - - Gets or sets the parenthesis color. - - - - - Gets or sets the path color. - - - - - Gets or sets the line number color. - - - - - Gets or sets the color for dimmed text such as "at" or "in". - - - - - Gets or sets the color for non emphasized items. - - - - - Represents a FIGlet font. - - - - - Gets the number of characters in the font. - - - - - Gets the height of the font. - - - - - Gets the font's baseline. - - - - - Gets the font's maximum width. - - - - - Gets the default FIGlet font. - - - - - Loads a FIGlet font from the specified stream. - - The stream to load the FIGlet font from. - The loaded FIGlet font. - - - - Loads a FIGlet font from disk. - - The path of the FIGlet font to load. - The loaded FIGlet font. - - - - Parses a FIGlet font from the specified . - - The FIGlet font source. - The parsed FIGlet font. - - - - Represents text rendered with a FIGlet font. - - - - - Gets or sets the color of the text. - - - - - - - - Initializes a new instance of the class. - - The text. - - - - Initializes a new instance of the class. - - The FIGlet font to use. - The text. - - - - - - - A renderable grid. - - - - - Gets the grid columns. - - - - - Gets the grid rows. - - - - - - - - - - - Gets or sets the width of the grid. - - - - - Initializes a new instance of the class. - - - - - Adds a column to the grid. - - The same instance so that multiple calls can be chained. - - - - Adds a column to the grid. - - The column to add. - The same instance so that multiple calls can be chained. - - - - Adds a new row to the grid. - - The columns to add. - The same instance so that multiple calls can be chained. - - - - - - - - - - Represents a grid column. - - - - - - - - Gets or sets the width of the column. - If null, the column will adapt to it's contents. - - - - - Gets or sets a value indicating whether wrapping of - text within the column should be prevented. - - - - - Gets or sets the padding of the column. - Vertical padding (top and bottom) is ignored. - - - - - Gets or sets the alignment of the column. - - - - - Gets a value indicating whether the user - has set an explicit padding for this column. - - - - - Represents a grid row. - - - - - Gets a row item at the specified grid column index. - - The grid column index. - The row item at the specified grid column index. - - - - Initializes a new instance of the class. - - The row items. - - - - - - - - - - A renderable piece of markup text. - - - - - - - - - - - Initializes a new instance of the class. - - The markup text. - The style of the text. - - - - - - - - - - Escapes text so that it won’t be interpreted as markup. - - The text to escape. - A string that is safe to use in markup. - - - - Removes markup from the specified string. - - The text to remove markup from. - A string that does not have any markup. - - - - Represents padding around a object. - - - - - - - - Gets or sets a value indicating whether or not the padding should - fit the available space. If false, the padding width will be - auto calculated. Defaults to false. - - - - - Initializes a new instance of the class. - - The thing to pad. - The padding. Defaults to 1,1,1,1 if null. - - - - - - - - - - A renderable panel. - - - - - - - - - - - - - - Gets or sets a value indicating whether or not the panel should - fit the available space. If false, the panel width will be - auto calculated. Defaults to false. - - - - - Gets or sets the padding. - - - - - Gets or sets the header. - - - - - Gets or sets a value indicating whether or not the panel is inlined. - - - - - Initializes a new instance of the class. - - The panel content. - - - - Initializes a new instance of the class. - - The panel content. - - - - - - - - - - Represents a panel header. - - - - - Gets the panel header text. - - - - - Gets or sets the panel header alignment. - - - - - Initializes a new instance of the class. - - The panel header text. - The panel header alignment. - - - - Sets the panel header style. - - The panel header style. - The same instance so that multiple calls can be chained. - - - - Sets the panel header style. - - The panel header style. - The same instance so that multiple calls can be chained. - - - - Sets the panel header alignment. - - The panel header alignment. - The same instance so that multiple calls can be chained. - - - - A paragraph of text where different parts - of the paragraph can have individual styling. - - - - - Gets or sets the alignment of the whole paragraph. - - - - - Gets or sets the text overflow strategy. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text. - The style of the text. - - - - Appends some text to this paragraph. - - The text to append. - The style of the appended text. - The same instance so that multiple calls can be chained. - - - - - - - - - - A column showing download progress. - - - - - Gets or sets the to use. - - - - - - - - A column showing the elapsed time of a task. - - - - - - - - Gets or sets the style of the remaining time text. - - - - - - - - - - - A column showing task progress in percentage. - - - - - Gets or sets the style for a non-complete task. - - - - - Gets or sets the style for a completed task. - - - - - - - - - - - A column showing task progress as a progress bar. - - - - - Gets or sets the width of the column. - - - - - Gets or sets the style of completed portions of the progress bar. - - - - - Gets or sets the style of a finished progress bar. - - - - - Gets or sets the style of remaining portions of the progress bar. - - - - - Gets or sets the style of an indeterminate progress bar. - - - - - - - - A column showing the remaining time of a task. - - - - - - - - Gets or sets the style of the remaining time text. - - - - - - - - - - - A column showing a spinner. - - - - - - - - Gets or sets the . - - - - - Gets or sets the text that should be shown instead - of the spinner once a task completes. - - - - - Gets or sets the text that should be shown instead - of the spinner before a task begins. - - - - - Gets or sets the completed style. - - - - - Gets or sets the pending style. - - - - - Gets or sets the style of the spinner. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The spinner to use. - - - - - - - - - - A column showing the task description. - - - - - - - - Gets or sets the alignment of the task description. - - - - - - - - A column showing transfer speed. - - - - - Gets or sets the to use. - - - - - - - - Represents a task list. - - - - - Gets or sets a value indicating whether or not task list should auto refresh. - Defaults to true. - - - - - Gets or sets a value indicating whether or not the task list should - be cleared once it completes. - Defaults to false. - - - - - Gets or sets a value indicating whether or not the task list should - only include tasks not completed - Defaults to false. - - - - - Gets or sets the refresh rate if AutoRefresh is enabled. - Defaults to 10 times/second. - - - - - Initializes a new instance of the class. - - The console to render to. - - - - Starts the progress task list. - - The action to execute. - - - - Starts the progress task list and returns a result. - - The result type. - he action to execute. - The result. - - - - Starts the progress task list. - - The action to execute. - A representing the asynchronous operation. - - - - Starts the progress task list and returns a result. - - The action to execute. - The result type of task. - A representing the asynchronous operation. - - - - Represents a progress column. - - - - - Gets a value indicating whether or not content should not wrap. - - - - - Gets a renderable representing the column. - - The render context. - The task. - The elapsed time since last call. - A renderable representing the column. - - - - Gets the width of the column. - - The context. - The width of the column, or null to calculate. - - - - Represents a context that can be used to interact with a . - - - - - Gets a value indicating whether or not all started tasks have completed. - - - - - Adds a task. - - The task description. - Whether or not the task should start immediately. - The task's max value. - The newly created task. - - - - Adds a task. - - The task description. - The task settings. - The newly created task. - - - - Refreshes the current progress. - - - - - Represents a progress task. - - - - - Gets the task ID. - - - - - Gets or sets the task description. - - - - - Gets or sets the max value of the task. - - - - - Gets or sets the value of the task. - - - - - Gets the start time of the task. - - - - - Gets the stop time of the task. - - - - - Gets the task state. - - - - - Gets a value indicating whether or not the task has started. - - - - - Gets a value indicating whether or not the task has finished. - - - - - Gets the percentage done of the task. - - - - - Gets the speed measured in steps/second. - - - - - Gets the elapsed time. - - - - - Gets the remaining time. - - - - - Gets or sets a value indicating whether the ProgressBar shows - actual values or generic, continuous progress feedback. - - - - - Initializes a new instance of the class. - - The task ID. - The task description. - The task max value. - Whether or not the task should start automatically. - - - - Starts the task. - - - - - Stops and marks the task as finished. - - - - - Increments the task's value. - - The value to increment with. - - - - - - - Represents settings for a progress task. - - - - - Gets or sets the task's max value. - Defaults to 100. - - - - - Gets or sets a value indicating whether or not the task - will be auto started. Defaults to true. - - - - - Gets the default progress task settings. - - - - - Represents progress task state. - - - - - Initializes a new instance of the class. - - - - - Gets the state value for the specified key. - - The state value type. - The state key. - The value for the specified key. - - - - Updates a task state value. - - The state value type. - The key. - The transformation function. - The updated value. - - - - Represents a spinner used in a . - - - - - Gets the update interval for the spinner. - - - - - Gets a value indicating whether or not the spinner - uses Unicode characters. - - - - - Gets the spinner frames. - - - - - Contains all predefined spinners. - - - - - Gets the "Default" spinner. - - - - - Gets the "Ascii" spinner. - - - - - Gets the "dots" spinner. - - - - - Gets the "dots2" spinner. - - - - - Gets the "dots3" spinner. - - - - - Gets the "dots4" spinner. - - - - - Gets the "dots5" spinner. - - - - - Gets the "dots6" spinner. - - - - - Gets the "dots7" spinner. - - - - - Gets the "dots8" spinner. - - - - - Gets the "dots9" spinner. - - - - - Gets the "dots10" spinner. - - - - - Gets the "dots11" spinner. - - - - - Gets the "dots12" spinner. - - - - - Gets the "dots8Bit" spinner. - - - - - Gets the "line" spinner. - - - - - Gets the "line2" spinner. - - - - - Gets the "pipe" spinner. - - - - - Gets the "simpleDots" spinner. - - - - - Gets the "simpleDotsScrolling" spinner. - - - - - Gets the "star" spinner. - - - - - Gets the "star2" spinner. - - - - - Gets the "flip" spinner. - - - - - Gets the "hamburger" spinner. - - - - - Gets the "growVertical" spinner. - - - - - Gets the "growHorizontal" spinner. - - - - - Gets the "balloon" spinner. - - - - - Gets the "balloon2" spinner. - - - - - Gets the "noise" spinner. - - - - - Gets the "bounce" spinner. - - - - - Gets the "boxBounce" spinner. - - - - - Gets the "boxBounce2" spinner. - - - - - Gets the "triangle" spinner. - - - - - Gets the "arc" spinner. - - - - - Gets the "circle" spinner. - - - - - Gets the "squareCorners" spinner. - - - - - Gets the "circleQuarters" spinner. - - - - - Gets the "circleHalves" spinner. - - - - - Gets the "squish" spinner. - - - - - Gets the "toggle" spinner. - - - - - Gets the "toggle2" spinner. - - - - - Gets the "toggle3" spinner. - - - - - Gets the "toggle4" spinner. - - - - - Gets the "toggle5" spinner. - - - - - Gets the "toggle6" spinner. - - - - - Gets the "toggle7" spinner. - - - - - Gets the "toggle8" spinner. - - - - - Gets the "toggle9" spinner. - - - - - Gets the "toggle10" spinner. - - - - - Gets the "toggle11" spinner. - - - - - Gets the "toggle12" spinner. - - - - - Gets the "toggle13" spinner. - - - - - Gets the "arrow" spinner. - - - - - Gets the "arrow2" spinner. - - - - - Gets the "arrow3" spinner. - - - - - Gets the "bouncingBar" spinner. - - - - - Gets the "bouncingBall" spinner. - - - - - Gets the "smiley" spinner. - - - - - Gets the "monkey" spinner. - - - - - Gets the "hearts" spinner. - - - - - Gets the "clock" spinner. - - - - - Gets the "earth" spinner. - - - - - Gets the "material" spinner. - - - - - Gets the "moon" spinner. - - - - - Gets the "runner" spinner. - - - - - Gets the "pong" spinner. - - - - - Gets the "shark" spinner. - - - - - Gets the "dqpb" spinner. - - - - - Gets the "weather" spinner. - - - - - Gets the "christmas" spinner. - - - - - Gets the "grenade" spinner. - - - - - Gets the "point" spinner. - - - - - Gets the "layer" spinner. - - - - - Gets the "betaWave" spinner. - - - - - Gets the "aesthetic" spinner. - - - - - Represents a status display. - - - - - Gets or sets the spinner. - - - - - Gets or sets the spinner style. - - - - - Gets or sets a value indicating whether or not status - should auto refresh. Defaults to true. - - - - - Initializes a new instance of the class. - - The console. - - - - Starts a new status display. - - The status to display. - he action to execute. - - - - Starts a new status display. - - The result type. - The status to display. - he action to execute. - The result. - - - - Starts a new status display. - - The status to display. - he action to execute. - A representing the asynchronous operation. - - - - Starts a new status display and returns a result. - - The result type of task. - The status to display. - he action to execute. - A representing the asynchronous operation. - - - - Represents a context that can be used to interact with a . - - - - - Gets or sets the current status. - - - - - Gets or sets the current spinner. - - - - - Gets or sets the current spinner style. - - - - - Refreshes the status. - - - - - A prompt that is answered with a yes or no. - - - - - Gets or sets the character that represents "yes". - - - - - Gets or sets the character that represents "no". - - - - - Gets or sets a value indicating whether "yes" is the default answer. - - - - - Gets or sets the message for invalid choices. - - - - - Gets or sets a value indicating whether or not - choices should be shown. - - - - - Gets or sets a value indicating whether or not - default values should be shown. - - - - - Initializes a new instance of the class. - - The prompt markup text. - - - - - - - Represents a prompt. - - The prompt result type. - - - - Shows the prompt. - - The console. - The prompt input result. - - - - Represents a list prompt. - - The prompt result type. - - - - Gets or sets the title. - - - - - Gets the choices. - - - - - Gets the initially selected choices. - - - - - Gets or sets the converter to get the display string for a choice. By default - the corresponding is used. - - - - - Gets or sets the page size. - Defaults to 10. - - - - - Gets or sets the highlight style of the selected choice. - - - - - Gets or sets the text that will be displayed if there are more choices to show. - - - - - Gets or sets the text that instructs the user of how to select items. - - - - - Gets or sets a value indicating whether or not - at least one selection is required. - - - - - Initializes a new instance of the class. - - - - - - - - Contains extension methods for . - - - - - Adds a choice. - - The prompt result type. - The prompt. - The choice to add. - The same instance so that multiple calls can be chained. - - - - Adds multiple choices. - - The prompt result type. - The prompt. - The choices to add. - The same instance so that multiple calls can be chained. - - - - Marks an item as selected. - - The prompt result type. - The prompt. - The index of the item to select. - The same instance so that multiple calls can be chained. - - - - Marks multiple items as selected. - - The prompt result type. - The prompt. - The indices of the items to select. - The same instance so that multiple calls can be chained. - - - - Marks multiple items as selected. - - The prompt result type. - The prompt. - The indices of the items to select. - The same instance so that multiple calls can be chained. - - - - Adds multiple choices. - - The prompt result type. - The prompt. - The choices to add. - The same instance so that multiple calls can be chained. - - - - Sets the title. - - The prompt result type. - The prompt. - The title markup text. - The same instance so that multiple calls can be chained. - - - - Sets how many choices that are displayed to the user. - - The prompt result type. - The prompt. - The number of choices that are displayed to the user. - The same instance so that multiple calls can be chained. - - - - Sets the highlight style of the selected choice. - - The prompt result type. - The prompt. - The highlight style of the selected choice. - The same instance so that multiple calls can be chained. - - - - Sets the text that will be displayed if there are more choices to show. - - The prompt result type. - The prompt. - The text to display. - The same instance so that multiple calls can be chained. - - - - Sets the text that instructs the user of how to select items. - - The prompt result type. - The prompt. - The text to display. - The same instance so that multiple calls can be chained. - - - - Requires no choice to be selected. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Requires a choice to be selected. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Sets a value indicating whether or not at least one choice must be selected. - - The prompt result type. - The prompt. - Whether or not at least one choice must be selected. - The same instance so that multiple calls can be chained. - - - - Sets the function to create a display string for a given choice. - - The prompt type. - The prompt. - The function to get a display string for a given choice. - The same instance so that multiple calls can be chained. - - - - Represents a list prompt. - - The prompt result type. - - - - Gets or sets the title. - - - - - Gets the choices. - - - - - Gets or sets the converter to get the display string for a choice. By default - the corresponding is used. - - - - - Gets or sets the page size. - Defaults to 10. - - - - - Gets or sets the highlight style of the selected choice. - - - - - Gets or sets the text that will be displayed if there are more choices to show. - - - - - Initializes a new instance of the class. - - - - - - - - Contains extension methods for . - - - - - Adds a choice. - - The prompt result type. - The prompt. - The choice to add. - The same instance so that multiple calls can be chained. - - - - Adds multiple choices. - - The prompt result type. - The prompt. - The choices to add. - The same instance so that multiple calls can be chained. - - - - Adds multiple choices. - - The prompt result type. - The prompt. - The choices to add. - The same instance so that multiple calls can be chained. - - - - Sets the title. - - The prompt result type. - The prompt. - The title markup text. - The same instance so that multiple calls can be chained. - - - - Sets how many choices that are displayed to the user. - - The prompt result type. - The prompt. - The number of choices that are displayed to the user. - The same instance so that multiple calls can be chained. - - - - Sets the highlight style of the selected choice. - - The prompt result type. - The prompt. - The highlight style of the selected choice. - The same instance so that multiple calls can be chained. - - - - Sets the text that will be displayed if there are more choices to show. - - The prompt result type. - The prompt. - The text to display. - The same instance so that multiple calls can be chained. - - - - Sets the function to create a display string for a given choice. - - The prompt type. - The prompt. - The function to get a display string for a given choice. - The same instance so that multiple calls can be chained. - - - - Represents a prompt. - - The prompt result type. - - - - Gets or sets the prompt style. - - - - - Gets the list of choices. - - - - - Gets or sets the message for invalid choices. - - - - - Gets or sets a value indicating whether input should - be hidden in the console. - - - - - Gets or sets the validation error message. - - - - - Gets or sets a value indicating whether or not - choices should be shown. - - - - - Gets or sets a value indicating whether or not - default values should be shown. - - - - - Gets or sets a value indicating whether or not an empty result is valid. - - - - - Gets or sets the converter to get the display string for a choice. By default - the corresponding is used. - - - - - Gets or sets the validator. - - - - - Gets or sets the default value. - - - - - Initializes a new instance of the class. - - The prompt markup text. - The comparer used for choices. - - - - Shows the prompt and requests input from the user. - - The console to show the prompt in. - The user input converted to the expected type. - - - - - Writes the prompt to the console. - - The console to write the prompt to. - - - - Contains extension methods for . - - - - - Allow empty input. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Sets the prompt style. - - The prompt result type. - The prompt. - The prompt style. - The same instance so that multiple calls can be chained. - - - - Show or hide choices. - - The prompt result type. - The prompt. - Whether or not choices should be visible. - The same instance so that multiple calls can be chained. - - - - Shows choices. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Hides choices. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Show or hide the default value. - - The prompt result type. - The prompt. - Whether or not the default value should be visible. - The same instance so that multiple calls can be chained. - - - - Shows the default value. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Hides the default value. - - The prompt result type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Sets the validation error message for the prompt. - - The prompt result type. - The prompt. - The validation error message. - The same instance so that multiple calls can be chained. - - - - Sets the "invalid choice" message for the prompt. - - The prompt result type. - The prompt. - The "invalid choice" message. - The same instance so that multiple calls can be chained. - - - - Sets the default value of the prompt. - - The prompt result type. - The prompt. - The default value. - The same instance so that multiple calls can be chained. - - - - Sets the validation criteria for the prompt. - - The prompt result type. - The prompt. - The validation criteria. - The validation error message. - The same instance so that multiple calls can be chained. - - - - Sets the validation criteria for the prompt. - - The prompt result type. - The prompt. - The validation criteria. - The same instance so that multiple calls can be chained. - - - - Adds a choice to the prompt. - - The prompt result type. - The prompt. - The choice to add. - The same instance so that multiple calls can be chained. - - - - Adds multiple choices to the prompt. - - The prompt result type. - The prompt. - The choices to add. - The same instance so that multiple calls can be chained. - - - - Replaces prompt user input with asterixes in the console. - - The prompt type. - The prompt. - The same instance so that multiple calls can be chained. - - - - Sets the function to create a display string for a given choice. - - The prompt type. - The prompt. - The function to get a display string for a given choice. - The same instance so that multiple calls can be chained. - - - - Represents a prompt validation result. - - - - - Gets a value indicating whether or not validation was successful. - - - - - Gets the validation error message. - - - - - Returns a representing successful validation. - - The validation result. - - - - Returns a representing a validation error. - - The validation error message, or null to show the default validation error message. - The validation result. - - - - Renders things in rows. - - - - - - - - Initializes a new instance of the class. - - The items to render as rows. - - - - Initializes a new instance of the class. - - The items to render as rows. - - - - - - - - - - A renderable horizontal rule. - - - - - Gets or sets the rule title markup text. - - - - - Gets or sets the rule style. - - - - - Gets or sets the rule's title alignment. - - - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The rule title markup text. - - - - - - - A renderable table. - - - - - Gets the table columns. - - - - - Gets the table rows. - - - - - - - - - - - - - - Gets or sets a value indicating whether or not table headers should be shown. - - - - - Gets or sets a value indicating whether or not table footers should be shown. - - - - - Gets or sets a value indicating whether or not the table should - fit the available space. If false, the table width will be - auto calculated. Defaults to false. - - - - - Gets or sets the width of the table. - - - - - Gets or sets the table title. - - - - - Gets or sets the table footnote. - - - - - - - - Initializes a new instance of the class. - - - - - Adds a column to the table. - - The column to add. - The same instance so that multiple calls can be chained. - - - - Adds a row to the table. - - The row columns to add. - The same instance so that multiple calls can be chained. - - - - - - - - - - Represents a table column. - - - - - Gets the column header. - - - - - Gets or sets the column footer. - - - - - Gets or sets the width of the column. - If null, the column will adapt to it's contents. - - - - - Gets or sets the padding of the column. - Vertical padding (top and bottom) is ignored. - - - - - Gets or sets a value indicating whether wrapping of - text within the column should be prevented. - - - - - Gets or sets the alignment of the column. - - - - - Initializes a new instance of the class. - - The table column header. - - - - Initializes a new instance of the class. - - The instance to use as the table column header. - - - - Gets the width of everything that's not a cell. - That means separators, edges and padding. - - The width of everything that's not a cell. - - - - Calculates the width of all columns minus any padding. - - The maximum width that the columns may occupy. - A list of column widths. - - - - Gets the max width of the destination area. - The table might take up less than this. - - - - - Gets the width of the table. - - - - - Represents a table row. - - - - - Gets a row item at the specified table column index. - - The table column index. - The row item at the specified table column index. - - - - Initializes a new instance of the class. - - The row items. - - - - - - - - - - Represents a table title such as a heading or footnote. - - - - - Gets the title text. - - - - - Gets or sets the title style. - - - - - Initializes a new instance of the class. - - The title text. - The title style. - - - - Sets the title style. - - The title style. - The same instance so that multiple calls can be chained. - - - - Sets the title style. - - The title style. - The same instance so that multiple calls can be chained. - - - - A renderable piece of text. - - - - - Gets an empty instance. - - - - - Initializes a new instance of the class. - - The text. - The style of the text. - - - - Gets or sets the text alignment. - - - - - Gets or sets the text overflow strategy. - - - - - - - - - - - Representation of non-circular tree data. - Each node added to the tree may only be present in it a single time, in order to facilitate cycle detection. - - - - - Gets or sets the tree style. - - - - - Gets or sets the tree guide lines. - - - - - Gets the tree's child nodes. - - - - - Gets or sets a value indicating whether or not the tree is expanded or not. - - - - - Initializes a new instance of the class. - - The tree label. - - - - Initializes a new instance of the class. - - The tree label. - - - - - - - Represents a tree node. - - - - - Gets the tree node's child nodes. - - - - - Gets or sets a value indicating whether or not the tree node is expanded or not. - - - - - Initializes a new instance of the class. - - The tree node label. - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spinner.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spinner.cs deleted file mode 100644 index 006e94719..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.CLI.Engine/Spinner.cs +++ /dev/null @@ -1,137 +0,0 @@ -using System; -using System.Threading; - -namespace NextGenSoftware.CLI.Engine -{ - public class Spinner : IDisposable - { - private Thread _thread; - private int _counter = 0; - - public string Sequence { get; set; } = @"/-\|"; - public int Left { get; set; } - public int Top { get; set; } - public int Delay { get; set; } = 100; - public bool IsActive { get; set; } - public ConsoleColor Colour { get; set; } = ConsoleColor.Green; - - public Spinner() - { - _thread = new Thread(Spin); - } - - public void Start(int left, int top, int delay = 100) - { - try - { - this.Left = left; - this.Top = top; - this.Delay = delay; - - IsActive = true; - if (!_thread.IsAlive) - { - if (_thread.ThreadState == ThreadState.Stopped) - { - _thread = new Thread(Spin); - _thread.Start(); - } - else - { - try - { - _thread.Start(); - } - catch (Exception ex) - { - _thread = new Thread(Spin); - _thread.Start(); - } - } - } - } - catch (Exception e) - { - - } - } - - public void Start() - { - try - { - Console.CursorVisible = false; - - int left = Console.CursorLeft; - - if (left < 0) - left = 0; - - left = left + 1; - Start(left, Console.CursorTop); - } - catch (Exception e) - { - - } - } - - public void Stop() - { - try - { - if (IsActive) - { - IsActive = false; - Draw(' '); - } - } - catch (Exception e) - { - - } - } - - private void Spin() - { - try - { - while (IsActive) - { - Turn(); - Thread.Sleep(Delay); - } - } - catch (Exception e) - { - - } - } - - private void Draw(char c) - { - try - { - Console.SetCursorPosition(Left, Top); - //ConsoleColor existingColour = Console.ForegroundColor; - //Console.ForegroundColor = Colour; - Console.Write(c); - //Console.ForegroundColor = existingColour; - } - catch (Exception e) - { - - } - } - - private void Turn() - { - Draw(Sequence[++_counter % Sequence.Length]); - } - - public void Dispose() - { - Stop(); - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/ErrorHandlingBehaviourEnum.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/ErrorHandlingBehaviourEnum.cs deleted file mode 100644 index 222ef8d28..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/ErrorHandlingBehaviourEnum.cs +++ /dev/null @@ -1,10 +0,0 @@ - -namespace NextGenSoftware.ErrorHandling -{ - public enum ErrorHandlingBehaviour - { - AlwaysThrowExceptionOnError, - OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent, - NeverThrowExceptions - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/WarningHandlingBehaviourEnum.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/WarningHandlingBehaviourEnum.cs deleted file mode 100644 index 2dd56d824..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/Enums/WarningHandlingBehaviourEnum.cs +++ /dev/null @@ -1,10 +0,0 @@ - -namespace NextGenSoftware.ErrorHandling -{ - public enum WarningHandlingBehaviour - { - AlwaysThrowExceptionOnWarning, - OnlyThrowExceptionIfNoWarningHandlerSubscribedToOnWarningEvent, - NeverThrowExceptions - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHanding.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHanding.cs deleted file mode 100644 index 488c0e784..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHanding.cs +++ /dev/null @@ -1,112 +0,0 @@ - -namespace NextGenSoftware.ErrorHandling -{ - public static class ErrorHandling - { - // public delegate void Error(object sender, ErrorEventArgs e); - // public static event Error OnError; - - public static ErrorHandlingBehaviour ErrorHandlingBehaviour { get; set; } = ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent; - public static WarningHandlingBehaviour WarningHandlingBehaviour { get; set; } = WarningHandlingBehaviour.OnlyThrowExceptionIfNoWarningHandlerSubscribedToOnWarningEvent; - - //public static LoggingFramework CurrentLoggingFramework = LoggingFramework.Default; - - //TODO: Try to get this working later, problem is when we add logging we get circular refrences so need to find a workaround for that! ;-) - //public static Logger Logger { get; set; } = new Logger(); - - //public static void Init(bool logToConsole = true, bool logToFile = true, string releativePathToLogFolder = "Logs", string logFileName = "ErrorHandling.log", Logger logger = null, bool addAdditionalSpaceAfterEachLogEntry = false, bool showColouredLogs = true, ConsoleColor debugColour = ConsoleColor.White, ConsoleColor infoColour = ConsoleColor.Green, ConsoleColor warningColour = ConsoleColor.Yellow, ConsoleColor errorColour = ConsoleColor.Red) - //{ - // InitLogger(logger); - // Logger.AddLogProvider(new DefaultLogProvider(logToConsole, logToFile, releativePathToLogFolder, logFileName, addAdditionalSpaceAfterEachLogEntry, showColouredLogs, debugColour, infoColour, warningColour, errorColour)); - // InitLogProvider(); - //} - - //public static void Init(IEnumerable logProviders, bool alsoUseDefaultLogger = false) - //{ - // InitLogger(); - // Logger.AddLogProviders(logProviders); - - // if (alsoUseDefaultLogger) - // Logger.AddLogProvider(new DefaultLogProvider()); - - // InitLogProvider(); - //} - - //public static void Init(ILogProvider logProvider, bool alsoUseDefaultLogger = false) - //{ - // InitLogger(); - // Logger.AddLogProvider(logProvider); - - // if (alsoUseDefaultLogger) - // Logger.AddLogProvider(new DefaultLogProvider()); - - // InitLogProvider(); - //} - - //public static void Init(Logger logger) - //{ - // InitLogger(logger); - // InitLogProvider(); - //} - - //public static void HandleError(string message, Exception exceptionRaised, Exception exceptionToThrow) - // where T1 : ErrorEventArgs, new() - // where T2 : Exception, new() - //{ - // message = string.Concat(message, "\nError Details: ", exceptionRaised != null ? exceptionRaised.ToString() : ""); - // Logger.Log(message, LogType.Error); - - // OnError?.Invoke(null, new T1 { Reason = message, ErrorDetails = exceptionRaised }); - - // switch (ErrorHandlingBehaviour) - // { - // case ErrorHandlingBehaviour.AlwaysThrowExceptionOnError: - // throw new Exception(message, exceptionRaised); - - // case ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent: - // { - // if (OnError == null) - // throw new Exception(message, exceptionRaised); - // } - // break; - // } - //} - - //TODO: Try to make this generic later on... - //public static void HandleError(string message, Exception exceptionRaised) - //{ - // message = string.Concat(message, "\nError Details: ", exceptionRaised != null ? exceptionRaised.ToString() : ""); - // Logger.Log(message, LogType.Error); - - // OnError?.Invoke(null, new ErrorEventArgs { Reason = message, ErrorDetails = exceptionRaised }); - - // switch (ErrorHandlingBehaviour) - // { - // case ErrorHandlingBehaviour.AlwaysThrowExceptionOnError: - // throw new Exception(message, exceptionRaised); - - // case ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent: - // { - // if (OnError == null) - // throw new Exception(message, exceptionRaised); - // } - // break; - // } - //} - - //private static void InitLogger(Logger logger = null) - //{ - // if (logger != null) - // Logger = logger; - - // else if (Logger == null) - // Logger = new Logger(); - //} - - //private static void InitLogProvider() - //{ - // if (Logger.LogProviders.Count == 0) - // Logger.AddLogProvider(new DefaultLogProvider()); - //} - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHandlingException.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHandlingException.cs deleted file mode 100644 index d5e89e557..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/ErrorHandlingException.cs +++ /dev/null @@ -1,21 +0,0 @@ - -//namespace NextGenSoftware.ErrorHandling -//{ -// public class ErrorHandlingException : Exception -// { -// public ErrorHandlingException() -// { - -// } - -// public ErrorHandlingException(string message) : base(message) -// { - -// } - -// public ErrorHandlingException(string message, Exception innerException) : base(message, innerException) -// { - -// } -// } -//} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/EventArgs.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/EventArgs.cs deleted file mode 100644 index d8262bcb7..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/EventArgs.cs +++ /dev/null @@ -1,9 +0,0 @@ - -//namespace NextGenSoftware.ErrorHandling -//{ -// public class ErrorEventArgs : EventArgs -// { -// public required string Reason { get; set; } -// public Exception? ErrorDetails { get; set; } -// } -//} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/NextGenSoftware.ErrorHandling.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/NextGenSoftware.ErrorHandling.csproj deleted file mode 100644 index 16e25a8ec..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/NextGenSoftware.ErrorHandling.csproj +++ /dev/null @@ -1,44 +0,0 @@ - - - - net8.0 - - NextGenSoftware.ErrorHandling - NextGen Software Ltd - NextGen Software Error Handling - NextGen Software Error Handling - Lightweight Error Handling library used for other NextGen Software libraries such as HoloNET & WebSocket. - Lightweight Error Handling library used for other NextGen Software libraries such as HoloNET & WebSocket. - https://github.com/NextGenSoftwareUK/holochain-client-csharp - STARJPG.JPG - David Ellams (NextGen Software Ltd) - logging;net;unity - - - Initital Release. - - git - https://github.com/NextGenSoftwareUK/holochain-client-csharp - Copyright © NextGen Software Ltd 2024. - README.md - - MIT - True - 1.0.0 - - - - - - True - \ - - - - - - True - \ - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/README.md deleted file mode 100644 index 902477d6e..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# NextGen Software Error Handling - -This library is used for other NextGen Software libraries/products such as OASIS, WebSocket & HoloNET (world's first .NET & Unity client for Holochain), which can be found below: -https://github.com/NextGenSoftwareUK/holochain-client-csharp diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.ErrorHandling/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/INLogProvider.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/INLogProvider.cs deleted file mode 100644 index 9a407f5da..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/INLogProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ - -namespace NextGenSoftware.Logging.NLogger -{ - public interface INLogProvider - { - void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, ConsoleColor consoleColour = ConsoleColor.White, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - void Shutdown(); - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog.config b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog.config deleted file mode 100644 index cbe074acf..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog2.config b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog2.config deleted file mode 100644 index b2e38dec4..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLog2.config +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLogProvider.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLogProvider.cs deleted file mode 100644 index 4a3192635..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NLogProvider.cs +++ /dev/null @@ -1,41 +0,0 @@ -namespace NextGenSoftware.Logging.NLogger -{ - public class NLogProvider : ILogProvider, INLogProvider - { - private static readonly NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger(); - - public void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - switch (type) - { - case LogType.Error: - _logger.Log(NLog.LogLevel.Error, message); - break; - - case LogType.Warning: - _logger.Log(NLog.LogLevel.Warn, message); - break; - - case LogType.Debug: - _logger.Log(NLog.LogLevel.Debug, message); - break; - - case LogType.Info: - _logger.Log(NLog.LogLevel.Info, message); - break; - } - } - - - public void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, ConsoleColor consoleColour = ConsoleColor.White, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - //TODO: Need to add colour support to NLog later... for now if you want animated coloured console output then use the DefaultLogger (much simpler to use and config than NLog! ;-) Why I created Logging project in the 1st place! )... ;-) - Log(message, type, true, true, consoleColour, showWorkingAnimation, logOnNewLine); - } - - public void Shutdown() - { - NLog.LogManager.Shutdown(); // Flush and close down internal threads and timers - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NextGenSoftware.Logging.NLog.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NextGenSoftware.Logging.NLog.csproj deleted file mode 100644 index aede18ff7..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/NextGenSoftware.Logging.NLog.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - - net8.0 - enable - enable - NextGenSoftware.Logging.NLog - NextGen Software Ltd - NextGen Software Logging NLog Extention - NextGen Software Logging NLog Extention - NLog implemention/extention of ILogProvider interface for NextGenSoftware.Logging package. - NLog implemention/extention of ILogProvider interface for NextGenSoftware.Logging package. - https://github.com/NextGenSoftwareUK/holochain-client-csharp - STARJPG.JPG - David Ellams (NextGen Software Ltd) - logging;net;unity - - - Upgraded to .NET 8. - - Upgraded to work with the latest changes/improvements to the NextGenSoftware.Logging lib (v2.0+). - - git - https://github.com/NextGenSoftwareUK/holochain-client-csharp - Copyright © NextGen Software Ltd 2022 - 2024 - README.md - - MIT - True - 2.0.0 - - - - - - - - - - PreserveNewest - - - - - - True - \ - - - - - - - - - - - - - - \ - True - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/README.md deleted file mode 100644 index 40ba7a573..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# NLog Extention For NextGen Software Logging - -NLog implemention/extnetion of ILogger interface for [NextGenSoftware.Logging package](https://www.nuget.org/packages/NextGenSoftware.Logging). - -So far coloured console log support for NLog has not been implemented, this will be done later, but if you need animated coloured console logging then use the DefaultLogger built in to the Logging package above... ;-) - -Configuring and using Logging is much simpler than NLog and is one of the reasons it was created in the first place! ;-) \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging.NLog/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LogType.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LogType.cs deleted file mode 100644 index 01f7c172d..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LogType.cs +++ /dev/null @@ -1,11 +0,0 @@ - -namespace NextGenSoftware.Logging -{ - public enum LogType - { - Debug, - Info, - Warning, - Error - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LoggingMode.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LoggingMode.cs deleted file mode 100644 index 455a3d46c..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Enums/LoggingMode.cs +++ /dev/null @@ -1,11 +0,0 @@ - -namespace NextGenSoftware.Logging -{ - public enum LoggingMode - { - WarningsErrorsInfoAndDebug, - WarningsErrorsAndInfo, - WarningsAndErrors, - ErrorsOnly - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/EventArgs.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/EventArgs.cs deleted file mode 100644 index a0dfed56f..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/EventArgs.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace NextGenSoftware.Logging -{ - public class LoggingErrorEventArgs : EventArgs - { - public string Reason { get; set; } - public Exception ErrorDetails { get; set; } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/IDefaultLogProvider.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/IDefaultLogProvider.cs deleted file mode 100644 index 076d8fa5d..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/IDefaultLogProvider.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace NextGenSoftware.Logging.Interfaces -{ - public interface IDefaultLogProvider - { - int IndentLogMessagesBy { get; set; } - bool InsertExtraNewLineAfterLogMessage { get; set; } - string LogDirectory { get; set; } - string LogFileName { get; set; } - bool LogToConsole { get; set; } - bool LogToFile { get; set; } - int NumberOfRetriesToLogToFile { get; set; } - int RetryLoggingToFileEverySeconds { get; set; } - - event DefaultLogProvider.Error OnError; - - void Log(string message, LogType type, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1); - void Log(string message, LogType type, ConsoleColor consoleColour, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1); - void Shutdown(); - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogProvider.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogProvider.cs deleted file mode 100644 index 5753f0610..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogProvider.cs +++ /dev/null @@ -1,12 +0,0 @@ - -using System; - -namespace NextGenSoftware.Logging -{ - public interface ILogProvider - { - void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int ? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, ConsoleColor consoleColour = ConsoleColor.White, bool showWorkingAnimation = false, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - void Shutdown(); - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogger.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogger.cs deleted file mode 100644 index 35007caaf..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Interfaces/ILogger.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace NextGenSoftware.Logging.Interfaces -{ - public interface ILogger - { - List LogProviders { get; set; } - - void AddLogProvider(ILogProvider logProvider); - void AddLogProviders(IEnumerable logProviders); - void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - void Log(string message, LogType type, ConsoleColor consoleColour, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false); - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogConfig.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogConfig.cs deleted file mode 100644 index 6fca80c21..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogConfig.cs +++ /dev/null @@ -1,23 +0,0 @@ - -using NextGenSoftware.ErrorHandling; - -namespace NextGenSoftware.Logging -{ - public static class LogConfig - { - public static LoggingMode FileLoggingMode = LoggingMode.WarningsErrorsInfoAndDebug; - public static LoggingMode ConsoleLoggingMode = LoggingMode.WarningsErrorsInfoAndDebug; - - public static ErrorHandlingBehaviour ErrorHandlingBehaviour - { - get - { - return ErrorHandling.ErrorHandling.ErrorHandlingBehaviour; - } - set - { - ErrorHandling.ErrorHandling.ErrorHandlingBehaviour = value; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviderBase.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviderBase.cs deleted file mode 100644 index b66048a84..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviderBase.cs +++ /dev/null @@ -1,34 +0,0 @@ - -namespace NextGenSoftware.Logging -{ - public abstract class LogProviderBase - { - protected bool ContinueFileLogging(LogType type) - { - if (type == LogType.Info && !(LogConfig.FileLoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.FileLoggingMode == LoggingMode.WarningsErrorsAndInfo)) - return false; - - if (type == LogType.Debug && LogConfig.FileLoggingMode != LoggingMode.WarningsErrorsInfoAndDebug) - return false; - - if (type == LogType.Warning && !(LogConfig.FileLoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.FileLoggingMode == LoggingMode.WarningsErrorsAndInfo || LogConfig.FileLoggingMode == LoggingMode.WarningsAndErrors)) - return false; - - return true; - } - - protected bool ContinueConsoleLogging(LogType type) - { - if (type == LogType.Info && !(LogConfig.ConsoleLoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.ConsoleLoggingMode == LoggingMode.WarningsErrorsAndInfo)) - return false; - - if (type == LogType.Debug && LogConfig.ConsoleLoggingMode != LoggingMode.WarningsErrorsInfoAndDebug) - return false; - - if (type == LogType.Warning && !(LogConfig.ConsoleLoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.ConsoleLoggingMode == LoggingMode.WarningsErrorsAndInfo || LogConfig.ConsoleLoggingMode == LoggingMode.WarningsAndErrors)) - return false; - - return true; - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviders/DefaultLogProvider.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviders/DefaultLogProvider.cs deleted file mode 100644 index 6dacda1a3..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LogProviders/DefaultLogProvider.cs +++ /dev/null @@ -1,212 +0,0 @@ -using System; -using System.IO; -using System.Threading; -using NextGenSoftware.CLI.Engine; -using NextGenSoftware.ErrorHandling; -using NextGenSoftware.WebSocket; - -namespace NextGenSoftware.Logging -{ - public class DefaultLogProvider : LogProviderBase, ILogProvider - { - public DefaultLogProvider(bool logToConsole = true, bool logToFile = true, string pathToLogFile = "Logs", string logFileName = "Log.txt", int maxLogFileSize = 1000000, bool insertExtraNewLineAfterLogMessage = false, int indentLogMessagesBy = 1, bool showColouredLogs = true, ConsoleColor debugColour = ConsoleColor.White, ConsoleColor infoColour = ConsoleColor.Green, ConsoleColor warningColour = ConsoleColor.Yellow, ConsoleColor errorColour = ConsoleColor.Red, int numberOfRetriesToLogToFile = 3, int retryLoggingToFileEverySeconds = 1) - { - MaxLogFileSize = maxLogFileSize; - LogDirectory = pathToLogFile; - LogFileName = logFileName; - LogToConsole = logToConsole; - LogToFile = logToFile; - InsertExtraNewLineAfterLogMessage = insertExtraNewLineAfterLogMessage; - IndentLogMessagesBy = indentLogMessagesBy; - ShowColouredLogs = showColouredLogs; - DebugColour = debugColour; - InfoColour = infoColour; - ErrorColour = errorColour; - WarningColour = warningColour; - NumberOfRetriesToLogToFile = numberOfRetriesToLogToFile; - RetryLoggingToFileEverySeconds = retryLoggingToFileEverySeconds; - } - - public delegate void Error(object sender, LoggingErrorEventArgs e); - public event Error OnError; - - public int MaxLogFileSize = 1000000; - public int NumberOfRetriesToLogToFile { get; set; } = 3; - public int RetryLoggingToFileEverySeconds { get; set; } = 1; - public string LogDirectory { get; set; } - public string LogFileName { get; set; } - public bool LogToConsole { get; set; } - public bool LogToFile { get; set; } - //public bool AddAdditionalSpaceAfterEachLogEntry { get; set; } = true; - public int IndentLogMessagesBy { get; set; } = 1; - public bool InsertExtraNewLineAfterLogMessage { get; set; } = true; - public static bool ShowColouredLogs { get; set; } = true; - public static ConsoleColor DebugColour { get; set; } = ConsoleColor.White; - public static ConsoleColor InfoColour { get; set; } = ConsoleColor.Green; - public static ConsoleColor WarningColour { get; set; } = ConsoleColor.Yellow; - public static ConsoleColor ErrorColour { get; set; } = ConsoleColor.Red; - - public void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - if (ShowColouredLogs) - { - switch (type) - { - case LogType.Debug: - Log(message, type, logToFile, logToConsole, DebugColour, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - break; - - case LogType.Info: - Log(message, type, logToFile, logToConsole, InfoColour, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - break; - - case LogType.Warning: - Log(message, type, logToFile, logToConsole, WarningColour, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - break; - - case LogType.Error: - Log(message, type, logToFile, logToConsole, ErrorColour, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - break; - } - } - else - Log(message, type, logToFile, logToConsole, ConsoleColor.White, showWorkingAnimation); - } - - public void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, ConsoleColor consoleColour = ConsoleColor.White,bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - try - { - string logMessage = $"{DateTime.Now} {type}: {message}"; - - if (!indentLogMessagesBy.HasValue) - indentLogMessagesBy = IndentLogMessagesBy; - - if (ContinueConsoleLogging(type) && LogToConsole) - { - //message = String.Concat("\n", message); - - // if (!nextMessageOnSameLine && !showWorkingAnimation) - // insertExtraNewLineAfterLogMessage = true; //TEMP! - - if (InsertExtraNewLineAfterLogMessage || insertExtraNewLineAfterLogMessage) - message = String.Concat(message, "\n"); - - try - { - //TODO: Need to check if running on non windows enviroment here and find different logging for each platform if possible... - if (showWorkingAnimation) - CLIEngine.ShowWorkingMessage(message, consoleColour, false, indentLogMessagesBy.Value, nextMessageOnSameLine); - else - CLIEngine.ShowMessage(message, consoleColour, false, noLineBreaks, indentLogMessagesBy.Value); - } - catch (Exception e) { } - } - - if (ContinueFileLogging(type) && LogToFile) - { - for (int i = 1; i <= NumberOfRetriesToLogToFile; ++i) - { - try - { - if (!string.IsNullOrEmpty(LogDirectory) && !Directory.Exists(LogDirectory)) - Directory.CreateDirectory(LogDirectory); - - for (int p = 0; p < indentLogMessagesBy; p++) - logMessage = $" {logMessage}"; - - if (InsertExtraNewLineAfterLogMessage || insertExtraNewLineAfterLogMessage) - logMessage = String.Concat(logMessage, "\n"); - - string fullFileName = LogFileName; - FileInfo fileInfo = new FileInfo(fullFileName); - - if (File.Exists(String.Concat(LogDirectory, "\\", LogFileName))) - { - //Need to find the latest file. - DirectoryInfo dirInfo = new DirectoryInfo(LogDirectory); - - FileInfo[] files = dirInfo.GetFiles(); - DateTime latestWriteTime = DateTime.MinValue; - - foreach (FileInfo file in files) - { - if (file.LastWriteTime > latestWriteTime) - { - fullFileName = file.Name; - latestWriteTime = file.LastWriteTime; - } - } - - fileInfo = new FileInfo(String.Concat(LogDirectory, "\\", LogFileName)); - string ext = fileInfo.Extension; - string[] parts = LogFileName.Split('.'); - string fileName = parts[0]; - - fileInfo = new FileInfo(String.Concat(LogDirectory, "\\", fullFileName)); - - //If the logfile is over its max size then find the next free filename. - if (fileInfo != null && fileInfo.Length > MaxLogFileSize) - { - int fileNumber = 2; - bool foundFreeFile = false; - - while (!foundFreeFile) - { - fullFileName = $"{fileName}{fileNumber}{ext}"; - - if (!File.Exists(String.Concat(LogDirectory, "\\", fullFileName))) - foundFreeFile = true; - else - fileNumber++; - } - } - } - - using (var stream = File.Open(String.Concat(LogDirectory, "\\", fullFileName), FileMode.Append, FileAccess.Write, FileShare.Write)) - { - using (var writer = new StreamWriter(stream)) - writer.WriteLine(logMessage); - } - break; - } - catch (IOException e) when (i <= NumberOfRetriesToLogToFile) - { - Thread.Sleep(RetryLoggingToFileEverySeconds * 1000); - } - } - } - } - catch (Exception ex) - { - HandleError("Error occurred in DefaultLogger.Log method.", ex); - } - } - - public void Shutdown() - { - //Not needed for DefaultLogger. - } - - private void HandleError(string message, Exception exception) - { - message = string.Concat(message, exception != null ? $". Error Details: {exception}" : ""); - //Logging.Logging.Log(message, LogType.Error); - - OnError.Invoke(this, new LoggingErrorEventArgs { Reason = message, ErrorDetails = exception }); - - switch (LogConfig.ErrorHandlingBehaviour) - { - case ErrorHandlingBehaviour.AlwaysThrowExceptionOnError: - throw new LoggingException(message, exception); - - case ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent: - { - if (OnError == null) - throw new LoggingException(message, exception); - } - break; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Logger.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Logger.cs deleted file mode 100644 index 6736fdd90..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/Logger.cs +++ /dev/null @@ -1,111 +0,0 @@ - -using System; -using System.Collections.Generic; -using NextGenSoftware.Logging.Interfaces; - -namespace NextGenSoftware.Logging -{ - public class Logger : ILogger - { - public List LogProviders { get; set; } = new List(); - - //public delegate void Error(object sender, LoggingErrorEventArgs e); - //public static event Error OnError; - - public void AddLogProvider(ILogProvider logProvider) - { - if (LogProviders == null) - LogProviders = new List(); - - LogProviders.Add(logProvider); - } - - public void AddLogProviders(IEnumerable logProviders) - { - if (LogProviders == null) - LogProviders = new List(); - - LogProviders.AddRange(logProviders); - } - - //public void Log(string message, LogType type, bool logOnNewLine = true, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1) - //{ - // foreach (ILogProvider logger in LogProviders) - // logger.Log(message, type, logOnNewLine, insertExtraNewLineAfterLogMessage, indentLogMessagesBy); - //} - - public void Log(string message, LogType type, ConsoleColor consoleColour, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - foreach (ILogProvider logger in LogProviders) - logger.Log(message, type, logToFile, logToConsole, consoleColour, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - } - - public void Log(string message, LogType type, bool logToFile = true, bool logToConsole = true, bool showWorkingAnimation = false, bool noLineBreaks = false, bool insertExtraNewLineAfterLogMessage = false, int? indentLogMessagesBy = 1, bool nextMessageOnSameLine = false) - { - foreach (ILogProvider logger in LogProviders) - logger.Log(message, type, logToFile, logToConsole, showWorkingAnimation, noLineBreaks, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, nextMessageOnSameLine); - } - - //public bool ContinueLogging(LogType type) - //{ - // if (type == LogType.Info && !(LogConfig.LoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.LoggingMode == LoggingMode.WarningsErrorsAndInfo)) - // return false; - - // if (type == LogType.Debug && LogConfig.LoggingMode != LoggingMode.WarningsErrorsInfoAndDebug) - // return false; - - // if (type == LogType.Warning && !(LogConfig.LoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.LoggingMode == LoggingMode.WarningsErrorsAndInfo || LogConfig.LoggingMode == LoggingMode.WarningsAndErrors)) - // return false; - - // return true; - //} - } -} - - - -//using System; -//using System.Collections.Generic; - -//namespace NextGenSoftware.Logging -//{ -// public static class Logger -// { -// public static List Loggers { get; set; } = new List(); - -// //public delegate void Error(object sender, LoggingErrorEventArgs e); -// //public static event Error OnError; - -// public static void Log(string message, LogType type) -// { -// foreach (ILogger logger in Loggers) -// logger.Log(message, type); -// } - -// public static void Log(string message, LogType type, ConsoleColor consoleColour, bool showWorkingAnimation = false) -// { -// foreach (ILogger logger in Loggers) -// logger.Log(message, type, consoleColour, showWorkingAnimation); -// } - -// public static void Log(string message, LogType type, bool showWorkingAnimation = false) -// { -// foreach (ILogger logger in Loggers) -// logger.Log(message, type, showWorkingAnimation); -// } - -// public static bool ContinueLogging(LogType type) -// { -// if (type == LogType.Info && !(LogConfig.LoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.LoggingMode == LoggingMode.WarningsErrorsAndInfo)) -// return false; - -// if (type == LogType.Debug && LogConfig.LoggingMode != LoggingMode.WarningsErrorsInfoAndDebug) -// return false; - -// if (type == LogType.Warning && !(LogConfig.LoggingMode == LoggingMode.WarningsErrorsInfoAndDebug || LogConfig.LoggingMode == LoggingMode.WarningsErrorsAndInfo || LogConfig.LoggingMode == LoggingMode.WarningsAndErrors)) -// return false; - -// return true; -// } -// } -//} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LoggingException.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LoggingException.cs deleted file mode 100644 index c45e9de8e..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/LoggingException.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; - -namespace NextGenSoftware.WebSocket -{ - public class LoggingException : Exception - { - public LoggingException() - { - - } - - public LoggingException(string message) : base(message) - { - - } - - public LoggingException(string message, Exception innerException) : base(message, innerException) - { - - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/NextGenSoftware.Logging.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/NextGenSoftware.Logging.csproj deleted file mode 100644 index 365c5d969..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/NextGenSoftware.Logging.csproj +++ /dev/null @@ -1,61 +0,0 @@ - - - - net8.0 - - NextGenSoftware.Logging - NextGen Software Ltd - NextGen Software Logging - NextGen Software Logging - Lightweight Logging library used for other NextGen Software libraries such as HoloNET & WebSocket. - Lightweight Logging library used for other NextGen Software libraries such as HoloNET & WebSocket. - https://github.com/NextGenSoftwareUK/holochain-client-csharp - STARJPG.JPG - David Ellams (NextGen Software Ltd) - logging;net;unity - - - Upgraded to .NET 8. - - Re-built with many improvements & new features. - - Loggers are now called LogProviders. - - Added AddLogProvider method overloads. - - Added new ILogger interface. - - Added FileLoggingMode & ConsoleLoggingMode to LogConfig. - - Integrated the new NextGenSoftware.ErrorHandling lib. - - Added LogProviderBase which all LogProviders must extend. - - Added NumberOfRetriesToLogToFile & RetryLoggingToFileEverySeconds to DefaultLogger. - - Added MaxLogFileSize to DefaultLogger so you can set the maximum file size a log can be before it will start logging to a new file. - - Added IndentLogMessagesBy to DefaultLogger. - - Renamed AddAdditionalSpaceAfterEachLogEntry to InsertExtraNewLineAfterLogMessage. - - Added IDefaultLogProvider interface. - - Multiple bug fixes. - - git - https://github.com/NextGenSoftwareUK/holochain-client-csharp - Copyright © NextGen Software Ltd 2022 - 2044 - README.md - - MIT - True - 2.0.0 - - - - - - True - \ - - - - - - - - - - True - \ - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/README.md deleted file mode 100644 index 87e9e159b..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# NextGen Software Logging - -## Logging Code Has Migrated - -This code was migrated from the main OASIS API/STAR Metaverse/HoloNET/.NET HDK code found here: -https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - -This library is used for other NextGen Software libraries/products such as OASIS, WebSocket & HoloNET (world's first .NET & Unity client for Holochain), which can be found below: -https://github.com/NextGenSoftwareUK/holochain-client-csharp diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Logging/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/AESFileEnryptionHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/AESFileEnryptionHelper.cs deleted file mode 100644 index ecf4d3651..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/AESFileEnryptionHelper.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System; -using System.IO; -using System.Security.Cryptography; -using System.Text; - -namespace NextGenSoftware.Utilities -{ - public static class FileEncryption - { - public static void EncryptFile(string inputFile, string outputFile, byte[] key, byte[] iv) - { - using (FileStream fileStream = new FileStream(outputFile, FileMode.Create)) - using (Aes aes = Aes.Create()) - { - aes.Key = key; - aes.IV = iv; - - using (CryptoStream cryptoStream = new CryptoStream(fileStream, aes.CreateEncryptor(), CryptoStreamMode.Write)) - using (FileStream inputStream = new FileStream(inputFile, FileMode.Open)) - { - inputStream.CopyTo(cryptoStream); - } - } - } - - public static void DecryptFile(string inputFile, string outputFile, byte[] key, byte[] iv) - { - using (FileStream inputStream = new FileStream(inputFile, FileMode.Open, FileAccess.Read)) - using (FileStream outputStream = new FileStream(outputFile, FileMode.Create, FileAccess.Write)) - using (Aes aes = Aes.Create()) - { - aes.Key = key; - aes.IV = iv; - - using (CryptoStream cryptoStream = new CryptoStream(inputStream, aes.CreateDecryptor(), CryptoStreamMode.Read)) - { - cryptoStream.CopyTo(outputStream); - } - } - } - - //public static MemoryStream DecryptFile(string inputFile, byte[] key, byte[] iv) - //{ - // MemoryStream stream = new MemoryStream(); - // using (FileStream inputStream = new FileStream(inputFile, FileMode.Open, FileAccess.Read)) - // using (Aes aes = Aes.Create()) - // { - // aes.Key = key; - // aes.IV = iv; - - // using (CryptoStream cryptoStream = new CryptoStream(inputStream, aes.CreateDecryptor(), CryptoStreamMode.Read)) - // { - // cryptoStream.CopyTo(stream); - // } - // } - - // return stream; - //} - - public static string DecryptFile(string inputFile, byte[] key, byte[] iv) - { - MemoryStream stream = new MemoryStream(); - using (FileStream inputStream = new FileStream(inputFile, FileMode.Open, FileAccess.Read)) - using (Aes aes = Aes.Create()) - { - aes.Key = key; - aes.IV = iv; - - using (CryptoStream cryptoStream = new CryptoStream(inputStream, aes.CreateDecryptor(), CryptoStreamMode.Read)) - { - cryptoStream.CopyTo(stream); - } - } - - return new StreamReader(stream).ReadToEnd().ToString(); - } - - public static string Encrypt(this string stringToEncrypt, string key) - { - if (string.IsNullOrEmpty(stringToEncrypt)) - { - throw new ArgumentException("An empty string value cannot be encrypted."); - } - - if (string.IsNullOrEmpty(key)) - { - throw new ArgumentException("Cannot encrypt using an empty key. Please supply an encryption key."); - } - - CspParameters cspp = new CspParameters(); - cspp.KeyContainerName = key; - - RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspp); - rsa.PersistKeyInCsp = true; - - byte[] bytes = rsa.Encrypt(UTF8Encoding.UTF8.GetBytes(stringToEncrypt), true); - - return BitConverter.ToString(bytes); - } - - public static string Decrypt(this string stringToDecrypt, string key) - { - string result = null; - - if (string.IsNullOrEmpty(stringToDecrypt)) - { - throw new ArgumentException("An empty string value cannot be encrypted."); - } - - if (string.IsNullOrEmpty(key)) - { - throw new ArgumentException("Cannot decrypt using an empty key. Please supply a decryption key."); - } - - try - { - CspParameters cspp = new CspParameters(); - cspp.KeyContainerName = key; - - RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspp); - rsa.PersistKeyInCsp = true; - - string[] decryptArray = stringToDecrypt.Split(new string[] { "-" }, StringSplitOptions.None); - byte[] decryptByteArray = Array.ConvertAll(decryptArray, (s => Convert.ToByte(byte.Parse(s, System.Globalization.NumberStyles.HexNumber)))); - - byte[] bytes = rsa.Decrypt(decryptByteArray, true); - - result = UTF8Encoding.UTF8.GetString(bytes); - } - finally - { - // no need for further processing - } - - return result; - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DataHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DataHelper.cs deleted file mode 100644 index c5151aa8e..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DataHelper.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.Text; - -namespace NextGenSoftware.Utilities -{ - public static class DataHelper - { - public static string ConvertBinaryDataToString(byte[] data, bool ignoreEmptyByte = true) - { - string result = ""; - - foreach (byte b in data) - { - if ((ignoreEmptyByte && b > 0) || !ignoreEmptyByte) - result = string.Concat(result, ",", b.ToString()); - } - - result = result.Substring(1, result.Length - 1); - return result.Trim(); - } - - public static string DecodeBinaryDataAsUTF8(byte[] data) - { - StringBuilder sb = new StringBuilder(); - sb.Append(Encoding.UTF8.GetString(data, 0, data.Length)); - return sb.ToString().Replace("\0", "").Trim(); - } - - - // Convert an object to a byte array - //public static byte[] ObjectToByteArray(object obj) - //{ - // BinaryFormatter bf = new BinaryFormatter(); - // using (var ms = new MemoryStream()) - // { - // bf.Serialize(ms, obj); - // return ms.ToArray(); - // } - //} - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DirectoryHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DirectoryHelper.cs deleted file mode 100644 index 571f26a21..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/DirectoryHelper.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.IO; - -namespace NextGenSoftware.Utilities -{ - public static class DirectoryHelper - { - public static void CopyFilesRecursively(string sourcePath, string targetPath) - { - if (!Directory.Exists(targetPath)) - Directory.CreateDirectory(targetPath); - - //Now Create all of the directories - foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories)) - Directory.CreateDirectory(dirPath.Replace(sourcePath, targetPath)); - - //Copy all the files & Replaces any files with the same name - foreach (string newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories)) - File.Copy(newPath, newPath.Replace(sourcePath, targetPath), true); - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelper.cs deleted file mode 100644 index 35b78fd85..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelper.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace NextGenSoftware.Utilities -{ - public static class EnumHelper - { - public static string GetEnumValues(Type enumType, EnumHelperListType listType = EnumHelperListType.ItemsSeperatedByNewLine) - { - string[] values = Enum.GetNames(enumType); - string enumValues = ""; - - switch (listType) - { - case EnumHelperListType.ItemsSeperatedByNewLine: - { - foreach (string value in values) - { - if (enumValues == "") - enumValues = value; - else - enumValues = string.Concat(enumValues, "\n", value); - } - } - break; - - case EnumHelperListType.ItemsSeperatedByComma: - { - for (int i = 0; i < values.Length; i++) - { - enumValues = string.Concat(enumValues, values[i]); - - if (i < values.Length - 2) - enumValues = string.Concat(enumValues, ", "); - - else if (i == values.Length - 2) - enumValues = string.Concat(enumValues, " or "); - } - } - break; - } - - return enumValues; - } - - public static IEnumerable> ConvertToEnumValueList(IEnumerable list) - { - IEnumerable> result; - List> enumList = new List>(); - - foreach (T item in list) - enumList.Add(new EnumValue(item)); - - result = enumList; - return result; - } - - public static IEnumerable ConvertFromEnumValueList(IEnumerable> enumList) - { - IEnumerable result; - List list = new List(); - - foreach (EnumValue item in enumList) - list.Add(item.Value); - - result = list; - return result; - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelperListType.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelperListType.cs deleted file mode 100644 index e8fc24782..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumHelperListType.cs +++ /dev/null @@ -1,9 +0,0 @@ - -namespace NextGenSoftware.Utilities -{ - public enum EnumHelperListType - { - ItemsSeperatedByNewLine, - ItemsSeperatedByComma - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumValue.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumValue.cs deleted file mode 100644 index 2f8457794..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/EnumValue.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; - -namespace NextGenSoftware.Utilities -{ - public class EnumValue - { - private string _name = ""; - private T _value; - - public EnumValue(T value) - { - Value = value; - } - - //public EnumValue(T value, double score) - //{ - // Value = value; - // Score = score; - //} - - - public T Value - { - get { return _value; } - set - { - _value = value; - _name = null; - } - } - - public string Name - { - get - { - if (string.IsNullOrWhiteSpace(_name)) - _name = Enum.GetName(typeof(T), Value); - - return _name; - } - } - - // public double Score { get; set; } = 0.0; - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs deleted file mode 100644 index 0a397bf6c..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExpandoObjectHelpers.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Dynamic; - -namespace NextGenSoftware.Utilities.ExtentionMethods -{ - public static class ExpandoObjectHelpers - { - public static void AddProperty(ExpandoObject expando, string propertyName, object propertyValue) - { - var exDict = expando as IDictionary; - - if (exDict.ContainsKey(propertyName)) - exDict[propertyName] = propertyValue; - else - exDict.Add(propertyName, propertyValue); - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExtentionMethods.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExtentionMethods.cs deleted file mode 100644 index 82975065e..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ExtentionMethods.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Linq; -using System.Text.RegularExpressions; - -namespace NextGenSoftware.Utilities.ExtentionMethods -{ - public static class ExtensionMethods - { - public static string ToSnakeCase(this string str) - { - return string.Concat(str.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x.ToString() : x.ToString())).ToLower(); - } - - public static string ToCamelCase(this string str) - { - return Char.ToLowerInvariant(str[0]) + str.Substring(1).Replace(" ", ""); - } - - public static string ToPascalCase(this string str) - { - Regex invalidCharsRgx = new Regex("[^_a-zA-Z0-9]"); - Regex whiteSpace = new Regex(@"(?<=\s)"); - Regex startsWithLowerCaseChar = new Regex("^[a-z]"); - Regex firstCharFollowedByUpperCasesOnly = new Regex("(?<=[A-Z])[A-Z0-9]+$"); - Regex lowerCaseNextToNumber = new Regex("(?<=[0-9])[a-z]"); - Regex upperCaseInside = new Regex("(?<=[A-Z])[A-Z]+?((?=[A-Z][a-z])|(?=[0-9]))"); - - // replace white spaces with undescore, then replace all invalid chars with empty string - var pascalCase = invalidCharsRgx.Replace(whiteSpace.Replace(str, "_"), string.Empty) - // split by underscores - .Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries) - // set first letter to uppercase - .Select(w => startsWithLowerCaseChar.Replace(w, m => m.Value.ToUpper())) - // replace second and all following upper case letters to lower if there is no next lower (ABC -> Abc) - .Select(w => firstCharFollowedByUpperCasesOnly.Replace(w, m => m.Value.ToLower())) - // set upper case the first lower case following a number (Ab9cd -> Ab9Cd) - .Select(w => lowerCaseNextToNumber.Replace(w, m => m.Value.ToUpper())) - // lower second and next upper case letters except the last if it follows by any lower (ABcDEf -> AbcDef) - .Select(w => upperCaseInside.Replace(w, m => m.Value.ToLower())); - - return string.Concat(pascalCase); - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ListHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ListHelper.cs deleted file mode 100644 index fcde0f902..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ListHelper.cs +++ /dev/null @@ -1,26 +0,0 @@ - -using System.Collections.Generic; - -namespace NextGenSoftware.Utilities -{ - public static class ListHelper - { - public static List ConvertToList(string commaDelimitedList) - { - List list = new List(); - string[] parts = commaDelimitedList.Split(','); - list.AddRange(parts); - return list; - } - - public static string ConvertFromList(List list) - { - string items = ""; - foreach (T id in list) - items = string.Concat(items, id.ToString(), ","); - - items = items.Substring(0, items.Length - 1); - return items; - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj deleted file mode 100644 index b8fbde78a..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NextGenSoftware.Utilities.csproj +++ /dev/null @@ -1,47 +0,0 @@ - - - - net8.0 - - NextGenSoftware.Utilities - NextGen Software Ltd - NextGen Software Utilities - NextGen Software Utilities - Utilities library used by other NextGen Software libraries. - Utilities library used by other NextGen Software libraries. - https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - STARJPG.JPG - David Ellams (NextGen Software Ltd) - utilities;net;unity - - - Upgraded to .NET 8. - - Added ObjectToByteArray function to DataHelper. - - Fixed bugs in ConvertBinaryDataToString & DecodeBinaryDataAsUTF8 functions in DataHelper. - - Added new ExpandoObjectHelpers. - - git - https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - Copyright © NextGen Software Ltd 2022 - 2024 - README.md - - MIT - True - 1.2.1 - - - - - - True - \ - - - - - - \ - True - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NullTextWriter .cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NullTextWriter .cs deleted file mode 100644 index f96bacf1c..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/NullTextWriter .cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.IO; -using System.Text; - -namespace NextGenSoftware.Utilities -{ - public class NullTextWriter : TextWriter - { - public override Encoding Encoding => Encoding.Default; // Required override - public override void Write(char value) { } // Discards output - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/README.md deleted file mode 100644 index 8abdc8cfd..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# NextGen Software Utilities - -This library provides utility/helper methods for other NextGen Software libraries/products such as OASIS API, STAR ODK, Logging, WebSocket & HoloNET (world's first .NET & Unity client for Holochain), which can be found below: -https://github.com/NextGenSoftwareUK/holochain-client-csharp - -Utilities provides the following methods: - -|Function|Description| -|--------|-----------| -|ToSnakeCase|Extention method for string| -|ToCamelCase|Extention method for string| -|ToPascalCase|Extention method for string| -|ExpandoObjectHelpers.AddProperty | Adds property values to a ExpandoObject. -|string DataHelper.ConvertBinaryDataToStringbyte[] data, bool ignoreEmptyByte = true)|Converts the binary data to a coma delimited string, useful for logging/debugging etc.| -|string DataHelper.DecodeBinaryDataAsUTF8(byte[] data)|Decodes the data using Encoding.UTF8.| - -Lots more coming soon... ;-) (will be moved out of the main OASIS codebase here: https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK) - -More documentation will be coming soon... \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/StringHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/StringHelper.cs deleted file mode 100644 index 258690d62..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/StringHelper.cs +++ /dev/null @@ -1,21 +0,0 @@ - -namespace NextGenSoftware.Utilities -{ - public class StringHelper - { - public static bool IsValidVersion(string version) - { - var parts = version.Split('.'); - if (parts.Length > 4) return false; - - foreach (var part in parts) - { - if (!int.TryParse(part, out _)) - { - return false; - } - } - return true; - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/URIHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/URIHelper.cs deleted file mode 100644 index c98e6d3b9..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/URIHelper.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Net.Http; -using System.Net.Sockets; -using System.Text; -using System.Threading.Tasks; - -namespace NextGenSoftware.Utilities -{ - public static class URIHelper - { - public static async Task ValidateUrlWithHttpClientAsync(string url) - { - using var client = new HttpClient(); - - try - { - var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Head, url)); - - return response.IsSuccessStatusCode; - } - catch (HttpRequestException e) - when (e.InnerException is SocketException - { SocketErrorCode: SocketError.HostNotFound }) - { - return false; - } - catch (HttpRequestException e) - when (e.StatusCode.HasValue && (int)e.StatusCode.Value > 500) - { - return true; - } - catch (Exception e) - { - return false; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ValidationHelper.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ValidationHelper.cs deleted file mode 100644 index 4f9d63aae..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.Utilities/ValidationHelper.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Globalization; -using System.Text.RegularExpressions; - -namespace NextGenSoftware.Utilities -{ - public static class ValidationHelper - { - public static bool IsValidEmail(string email) - { - bool emailValid = false; - - try - { - var addr = new System.Net.Mail.MailAddress(email); - emailValid = addr.Address == email; - } - catch - { - return false; - } - - //TODO: Not sure if we need to verify the email again? - if (emailValid) - return IsValidEmail2(email); - - return emailValid; - } - - //TODO: Need to check which of these methods is best to use? :) - private static bool IsValidEmail2(string email) - { - if (string.IsNullOrWhiteSpace(email)) - return false; - - try - { - // Normalize the domain - email = Regex.Replace(email, @"(@)(.+)$", DomainMapper, - RegexOptions.None, TimeSpan.FromMilliseconds(200)); - - // Examines the domain part of the email and normalizes it. - string DomainMapper(Match match) - { - // Use IdnMapping class to convert Unicode domain names. - var idn = new IdnMapping(); - - // Pull out and process domain name (throws ArgumentException on invalid) - string domainName = idn.GetAscii(match.Groups[2].Value); - - return match.Groups[1].Value + domainName; - } - } - catch (RegexMatchTimeoutException e) - { - return false; - } - catch (ArgumentException e) - { - return false; - } - - try - { - return Regex.IsMatch(email, - @"^[^@\s]+@[^@\s]+\.[^@\s]+$", - RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)); - } - catch (RegexMatchTimeoutException) - { - return false; - } - } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs deleted file mode 100644 index c08a1c834..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetSocketStateEnum.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; - -namespace NextGenSoftware.WebSocket -{ - public enum NetSocketState - { - // - // Summary: - // Reserved for future use. - None = 0, - // - // Summary: - // The connection is negotiating the handshake with the remote endpoint. - Connecting = 1, - // - // Summary: - // The initial state after the HTTP handshake has been completed. - Open = 2, - // - // Summary: - // A close message was sent to the remote endpoint. - CloseSent = 3, - // - // Summary: - // A close message was received from the remote endpoint. - CloseReceived = 4, - // - // Summary: - // Indicates the WebSocket close handshake completed gracefully. - Closed = 5, - // - // Summary: - // Reserved for future use. - Aborted = 6 - } - -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs deleted file mode 100644 index 4e75d6ea7..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Enums/NetworkServiceProviderModeEnum.cs +++ /dev/null @@ -1,13 +0,0 @@ - -namespace NextGenSoftware.WebSocket -{ - //Will be used in future... - public enum NetworkServiceProviderMode - { - WebSockets, - HTTP, - QUIC, - GRPC, - External - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/EventArgs.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/EventArgs.cs deleted file mode 100644 index 3cf87188b..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/EventArgs.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Net.WebSockets; - -namespace NextGenSoftware.WebSocket -{ - public class ConnectedEventArgs : EventArgs - { - public Uri EndPoint { get; set; } - } - - public class DisconnectedEventArgs : EventArgs - { - public Uri EndPoint { get; set; } - public string Reason { get; set; } - } - - public class WebSocketErrorEventArgs : EventArgs - { - public Uri EndPoint { get; set; } - public string Reason { get; set; } - public Exception ErrorDetails { get; set; } - } - - public class DataReceivedEventArgs : CallBackWithDataReceivedBaseEventArgs - { - - } - - public class DataSentEventArgs : CallBackWithDataBaseEventArgs - { - - } - - public abstract class CallBackBaseEventArgs : EventArgs - { - public bool IsError { get; set; } - public bool IsWarning { get; set; } - public string Message { get; set; } - } - - public abstract class CallBackWithDataReceivedBaseEventArgs : CallBackWithDataBaseEventArgs - { - public WebSocketReceiveResult WebSocketResult { get; set; } - } - - public abstract class CallBackWithDataBaseEventArgs : CallBackBaseEventArgs - { - public CallBackWithDataBaseEventArgs() - { - - } - - //public CallBackWithDataBaseEventArgs(Uri endPoint, bool isCallSuccessful, byte[] rawBinaryData, string rawJSONData) - //{ - // EndPoint = endPoint; - // IsCallSuccessful = isCallSuccessful; - // RawJSONData = rawJSONData; - // RawBinaryData = rawBinaryData; - //} - - public CallBackWithDataBaseEventArgs(Uri endPoint, byte[] rawBinaryData, string rawJSONData) - { - EndPoint = endPoint; - RawJSONData = rawJSONData; - RawBinaryData = rawBinaryData; - } - - public Exception Exception { get; set; } - public Uri EndPoint { get; set; } - public string RawJSONData { get; set; } - public byte[] RawBinaryData { get; set; } - public string RawBinaryDataAsString { get; set; } - public string RawBinaryDataDecoded { get; set; } - } - - public abstract class CallBackBaseEventArgsWithId : CallBackWithDataBaseEventArgs - { - public CallBackBaseEventArgsWithId() : base() - { - - } - - public string Id { get; set; } - } - - public abstract class CallBackBaseEventArgsWithDataAndId : CallBackWithDataReceivedBaseEventArgs - { - public CallBackBaseEventArgsWithDataAndId() : base() - { - - } - - public string Id { get; set; } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs deleted file mode 100644 index 52ccb82fe..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocket.cs +++ /dev/null @@ -1,27 +0,0 @@ -using NextGenSoftware.Logging.Interfaces; -using System; -using System.Net.WebSockets; -using System.Threading.Tasks; - -namespace NextGenSoftware.WebSocket.Interfaces -{ - public interface IWebSocket - { - ClientWebSocket ClientWebSocket { get; set; } - WebSocketConfig Config { get; set; } - Uri EndPoint { get; set; } - ILogger Logger { get; set; } - WebSocketState State { get; } - - event WebSocket.Connected OnConnected; - event WebSocket.DataReceived OnDataReceived; - event WebSocket.DataSent OnDataSent; - event WebSocket.Disconnected OnDisconnected; - event WebSocket.Error OnError; - - Task ConnectAsync(string endpoint); - Task ConnectAsync(Uri endpoint); - Task DisconnectAsync(); - Task SendRawDataAsync(byte[] data); - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs deleted file mode 100644 index 7616070ee..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/Interfaces/IWebSocketClientNET.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; - -namespace NextGenSoftware.WebSocket -{ - public interface IWebSocketClientNET - { - //async Task Connect(Uri EndPoint); - bool Connect(Uri EndPoint); - bool Disconnect(); - bool SendData(string Data); - string ReceiveData(); - - NetSocketState NetSocketState { get; set; } - } -} diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj deleted file mode 100644 index c0f96c615..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/NextGenSoftware.WebSocket.csproj +++ /dev/null @@ -1,62 +0,0 @@ - - - - net8.0 - True - NextGenSoftware.WebSocket - NextGen Software Ltd - NextGen Software WebSocket - NextGen Software WebSocket - WebSocket library used for other NextGen Software libraries such as HoloNET. - WebSocket library used for other NextGen Software libraries such as HoloNET. - https://github.com/NextGenSoftwareUK/holochain-client-csharp - STARJPG.JPG - David Ellams (NextGen Software Ltd) - websocket;net;unity - - - Upgraded to .NET 8. - - Fixed multiple bugs including a re-connect issue, disconnect bugs & more. - - Improved error handling/reporting. - - Add OnDataSent event. - - EndPoint property is now a URI instead of string. - - Connect method renamed to ConnectAsync. - - Disconnect method renamed to DisconnectAsync. - - EndPoint is now passed into the ConenctAsync method rather than the constructor. - - As part of the upgrades to the logging system used in the NextGenSoftware.Logging lib a new Logger property has also been added. - - Integrated the new NextGenSoftware.ErrorHandling lib. - - IWebSocket interface added. - - IsWarning property added to CallBackBaseEventArgs. - - Other misc changes. - - git - https://github.com/NextGenSoftwareUK/holochain-client-csharp - Copyright © NextGen Software Ltd 2022 - 2024 - README.md - - MIT - True - 2.0.0 - - - - - - True - \ - - - - - - - - - - - True - \ - - - - - diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/README.md b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/README.md deleted file mode 100644 index 641e1f8a8..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# NextGen Software WebSocket - -## WebSocket Code Has Migrated - -This code was migrated from the main OASIS API/STAR Metaverse/HoloNET/.NET HDK code found here: -https://github.com/NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK - -This library is used for other NextGen Software libraries/products such as HoloNET (world's first .NET & Unity client for Holochain), which can be found below: -https://github.com/NextGenSoftwareUK/holochain-client-csharp diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/STARJPG.JPG b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/STARJPG.JPG deleted file mode 100644 index 6e563dfa6..000000000 Binary files a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/STARJPG.JPG and /dev/null differ diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/UnityWebSocket.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/UnityWebSocket.cs deleted file mode 100644 index b522b33ea..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/UnityWebSocket.cs +++ /dev/null @@ -1,856 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Net.WebSockets; -using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace NextGenSoftware.WebSocket -{ - //PORTED UNITY WEBSOCKET CODE (UNITY SPECEFIC CODE HAS BEEN COMMENTED OUT BELOW): - - //public class MainThreadUtil - //{ - // public static MainThreadUtil Instance { get; private set; } - // public static SynchronizationContext synchronizationContext { get; private set; } - - // // [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] - // //public static void Setup() - // //{ - // // // Instance = new GameObject("MainThreadUtil") - // // // .AddComponent(); - // // //synchronizationContext = SynchronizationContext.Current; - // //} - - // //public static void Run(IEnumerator waitForUpdate) - // //{ - // // synchronizationContext.Post(_ => Instance.StartCoroutine( - // // waitForUpdate), null); - // //} - - // //void Awake() - // //{ - // // gameObject.hideFlags = HideFlags.HideAndDontSave; - // // DontDestroyOnLoad(gameObject); - // //} - //} - - // public class WaitForUpdate : CustomYieldInstruction - //public class WaitForUpdate - //{ - // //public override bool keepWaiting - // public bool keepWaiting - // { - // get { return false; } - // } - - // public MainThreadAwaiter GetAwaiter() - // { - // var awaiter = new MainThreadAwaiter(); - // MainThreadUtil.Run(CoroutineWrapper(this, awaiter)); - // return awaiter; - // } - - // public class MainThreadAwaiter : INotifyCompletion - // { - // Action continuation; - - // public bool IsCompleted { get; set; } - - // public void GetResult() { } - - // public void Complete() - // { - // IsCompleted = true; - // continuation?.Invoke(); - // } - - // void INotifyCompletion.OnCompleted(Action continuation) - // { - // this.continuation = continuation; - // } - // } - - // public static IEnumerator CoroutineWrapper(IEnumerator theWorker, MainThreadAwaiter awaiter) - // { - // yield return theWorker; - // awaiter.Complete(); - // } - //} - - // namespace NativeWebSocket - // { - public delegate void WebSocketOpenEventHandler(); - public delegate void WebSocketMessageEventHandler(byte[] data); - public delegate void WebSocketErrorEventHandler(string errorMsg); - public delegate void WebSocketCloseEventHandler(WebSocketCloseCode closeCode); - - public enum WebSocketCloseCode - { - /* Do NOT use NotSet - it's only purpose is to indicate that the close code cannot be parsed. */ - NotSet = 0, - Normal = 1000, - Away = 1001, - ProtocolError = 1002, - UnsupportedData = 1003, - Undefined = 1004, - NoStatus = 1005, - Abnormal = 1006, - InvalidData = 1007, - PolicyViolation = 1008, - TooBig = 1009, - MandatoryExtension = 1010, - ServerError = 1011, - TlsHandshakeFailure = 1015 - } - - public enum WebSocketState2 - { - Connecting, - Open, - Closing, - Closed - } - - public interface IWebSocket - { - event WebSocketOpenEventHandler OnOpen; - event WebSocketMessageEventHandler OnMessage; - event WebSocketErrorEventHandler OnError; - event WebSocketCloseEventHandler OnClose; - - WebSocketState2 State { get; } - } - - public static class WebSocketHelpers - { - public static WebSocketCloseCode ParseCloseCodeEnum(int closeCode) - { - - if (WebSocketCloseCode.IsDefined(typeof(WebSocketCloseCode), closeCode)) - { - return (WebSocketCloseCode)closeCode; - } - else - { - return WebSocketCloseCode.Undefined; - } - - } - - public static WebSocketException GetErrorMessageFromCode(int errorCode, Exception inner) - { - switch (errorCode) - { - case -1: - return new WebSocketUnexpectedException("WebSocket instance not found.", inner); - case -2: - return new WebSocketInvalidStateException("WebSocket is already connected or in connecting state.", inner); - case -3: - return new WebSocketInvalidStateException("WebSocket is not connected.", inner); - case -4: - return new WebSocketInvalidStateException("WebSocket is already closing.", inner); - case -5: - return new WebSocketInvalidStateException("WebSocket is already closed.", inner); - case -6: - return new WebSocketInvalidStateException("WebSocket is not in open state.", inner); - case -7: - return new WebSocketInvalidArgumentException("Cannot close WebSocket. An invalid code was specified or reason is too long.", inner); - default: - return new WebSocketUnexpectedException("Unknown error.", inner); - } - } - } - - public class UnityWebSocketException : Exception - { - public UnityWebSocketException() { } - public UnityWebSocketException(string message) : base(message) { } - public UnityWebSocketException(string message, Exception inner) : base(message, inner) { } - } - - public class WebSocketUnexpectedException : WebSocketException - { - public WebSocketUnexpectedException() { } - public WebSocketUnexpectedException(string message) : base(message) { } - public WebSocketUnexpectedException(string message, Exception inner) : base(message, inner) { } - } - - public class WebSocketInvalidArgumentException : WebSocketException - { - public WebSocketInvalidArgumentException() { } - public WebSocketInvalidArgumentException(string message) : base(message) { } - public WebSocketInvalidArgumentException(string message, Exception inner) : base(message, inner) { } - } - - public class WebSocketInvalidStateException : WebSocketException - { - public WebSocketInvalidStateException() { } - public WebSocketInvalidStateException(string message) : base(message) { } - public WebSocketInvalidStateException(string message, Exception inner) : base(message, inner) { } - } - - public class WaitForBackgroundThread - { - public ConfiguredTaskAwaitable.ConfiguredTaskAwaiter GetAwaiter() - { - return Task.Run(() => { }).ConfigureAwait(false).GetAwaiter(); - } - } - -#if UNITY_WEBGL && !UNITY_EDITOR - - /// - /// WebSocket class bound to JSLIB. - /// - public class WebSocket : IWebSocket { - - /* WebSocket JSLIB functions */ - [DllImport ("__Internal")] - public static extern int WebSocketConnect (int instanceId); - - [DllImport ("__Internal")] - public static extern int WebSocketClose (int instanceId, int code, string reason); - - [DllImport ("__Internal")] - public static extern int WebSocketSend (int instanceId, byte[] dataPtr, int dataLength); - - [DllImport ("__Internal")] - public static extern int WebSocketSendText (int instanceId, string message); - - [DllImport ("__Internal")] - public static extern int WebSocketGetState (int instanceId); - - protected int instanceId; - - public event WebSocketOpenEventHandler OnOpen; - public event WebSocketMessageEventHandler OnMessage; - public event WebSocketErrorEventHandler OnError; - public event WebSocketCloseEventHandler OnClose; - - public WebSocket (string url, Dictionary headers = null) { - if (!WebSocketFactory.isInitialized) { - WebSocketFactory.Initialize (); - } - - int instanceId = WebSocketFactory.WebSocketAllocate (url); - WebSocketFactory.instances.Add (instanceId, this); - - this.instanceId = instanceId; - } - - public WebSocket (string url, string subprotocol, Dictionary headers = null) { - if (!WebSocketFactory.isInitialized) { - WebSocketFactory.Initialize (); - } - - int instanceId = WebSocketFactory.WebSocketAllocate (url); - WebSocketFactory.instances.Add (instanceId, this); - - WebSocketFactory.WebSocketAddSubProtocol(instanceId, subprotocol); - - this.instanceId = instanceId; - } - - public WebSocket (string url, List subprotocols, Dictionary headers = null) { - if (!WebSocketFactory.isInitialized) { - WebSocketFactory.Initialize (); - } - - int instanceId = WebSocketFactory.WebSocketAllocate (url); - WebSocketFactory.instances.Add (instanceId, this); - - foreach (string subprotocol in subprotocols) { - WebSocketFactory.WebSocketAddSubProtocol(instanceId, subprotocol); - } - - this.instanceId = instanceId; - } - - ~WebSocket () { - WebSocketFactory.HandleInstanceDestroy (this.instanceId); - } - - public int GetInstanceId () { - return this.instanceId; - } - - public Task Connect () { - int ret = WebSocketConnect (this.instanceId); - - if (ret < 0) - throw WebSocketHelpers.GetErrorMessageFromCode (ret, null); - - return Task.CompletedTask; - } - - public void CancelConnection () { - if (State == WebSocketState.Open) - Close (WebSocketCloseCode.Abnormal); - } - - public Task Close (WebSocketCloseCode code = WebSocketCloseCode.Normal, string reason = null) { - int ret = WebSocketClose (this.instanceId, (int) code, reason); - - if (ret < 0) - throw WebSocketHelpers.GetErrorMessageFromCode (ret, null); - - return Task.CompletedTask; - } - - public Task Send (byte[] data) { - int ret = WebSocketSend (this.instanceId, data, data.Length); - - if (ret < 0) - throw WebSocketHelpers.GetErrorMessageFromCode (ret, null); - - return Task.CompletedTask; - } - - public Task SendText (string message) { - int ret = WebSocketSendText (this.instanceId, message); - - if (ret < 0) - throw WebSocketHelpers.GetErrorMessageFromCode (ret, null); - - return Task.CompletedTask; - } - - public WebSocketState State { - get { - int state = WebSocketGetState (this.instanceId); - - if (state < 0) - throw WebSocketHelpers.GetErrorMessageFromCode (state, null); - - switch (state) { - case 0: - return WebSocketState.Connecting; - - case 1: - return WebSocketState.Open; - - case 2: - return WebSocketState.Closing; - - case 3: - return WebSocketState.Closed; - - default: - return WebSocketState.Closed; - } - } - } - - public void DelegateOnOpenEvent () { - this.OnOpen?.Invoke (); - } - - public void DelegateOnMessageEvent (byte[] data) { - this.OnMessage?.Invoke (data); - } - - public void DelegateOnErrorEvent (string errorMsg) { - this.OnError?.Invoke (errorMsg); - } - - public void DelegateOnCloseEvent (int closeCode) { - this.OnClose?.Invoke (WebSocketHelpers.ParseCloseCodeEnum (closeCode)); - } - - } - -#else - - public class UnityWebSocket : IWebSocket - { - public event WebSocketOpenEventHandler OnOpen; - public event WebSocketMessageEventHandler OnMessage; - public event WebSocketErrorEventHandler OnError; - public event WebSocketCloseEventHandler OnClose; - - private Uri uri; - private Dictionary headers; - private List subprotocols; - private ClientWebSocket m_Socket = new ClientWebSocket(); - - private CancellationTokenSource m_TokenSource; - private CancellationToken m_CancellationToken; - - private readonly object Lock = new object(); - - private bool isSending = false; - private List> sendBytesQueue = new List>(); - private List> sendTextQueue = new List>(); - - public ClientWebSocket ClientWebSocket - { - get - { - return m_Socket; - } - } - - public UnityWebSocket(string url, Dictionary headers = null) - { - uri = new Uri(url); - - if (headers == null) - { - this.headers = new Dictionary(); - } - else - { - this.headers = headers; - } - - subprotocols = new List(); - - string protocol = uri.Scheme; - if (!protocol.Equals("ws") && !protocol.Equals("wss")) - throw new ArgumentException("Unsupported protocol: " + protocol); - } - - public UnityWebSocket(string url, string subprotocol, Dictionary headers = null) - { - uri = new Uri(url); - - if (headers == null) - { - this.headers = new Dictionary(); - } - else - { - this.headers = headers; - } - - subprotocols = new List { subprotocol }; - - string protocol = uri.Scheme; - if (!protocol.Equals("ws") && !protocol.Equals("wss")) - throw new ArgumentException("Unsupported protocol: " + protocol); - } - - public UnityWebSocket(string url, List subprotocols, Dictionary headers = null) - { - uri = new Uri(url); - - if (headers == null) - { - this.headers = new Dictionary(); - } - else - { - this.headers = headers; - } - - this.subprotocols = subprotocols; - - string protocol = uri.Scheme; - if (!protocol.Equals("ws") && !protocol.Equals("wss")) - throw new ArgumentException("Unsupported protocol: " + protocol); - } - - public void CancelConnection() - { - m_TokenSource?.Cancel(); - } - - public async Task Connect() - { - try - { - m_TokenSource = new CancellationTokenSource(); - m_CancellationToken = m_TokenSource.Token; - - m_Socket = new ClientWebSocket(); - - foreach (var header in headers) - { - m_Socket.Options.SetRequestHeader(header.Key, header.Value); - } - - foreach (string subprotocol in subprotocols) - { - m_Socket.Options.AddSubProtocol(subprotocol); - } - - await m_Socket.ConnectAsync(uri, m_CancellationToken); - OnOpen?.Invoke(); - - //await Receive(); - Receive(); - } - catch (Exception ex) - { - OnError?.Invoke(ex.Message); - OnClose?.Invoke(WebSocketCloseCode.Abnormal); - } - finally - { - //if (m_Socket != null) - //{ - // m_TokenSource.Cancel(); - // m_Socket.Dispose(); - //} - } - } - - public WebSocketState2 State - { - get - { - switch (m_Socket.State) - { - case System.Net.WebSockets.WebSocketState.Connecting: - return WebSocketState2.Connecting; - - case System.Net.WebSockets.WebSocketState.Open: - return WebSocketState2.Open; - - case System.Net.WebSockets.WebSocketState.CloseSent: - case System.Net.WebSockets.WebSocketState.CloseReceived: - return WebSocketState2.Closing; - - case System.Net.WebSockets.WebSocketState.Closed: - return WebSocketState2.Closed; - - default: - return WebSocketState2.Closed; - } - } - } - - public Task Send(byte[] bytes) - { - // return m_Socket.SendAsync(buffer, WebSocketMessageType.Binary, true, CancellationToken.None); - return SendMessage(sendBytesQueue, WebSocketMessageType.Binary, new ArraySegment(bytes)); - } - - public Task SendText(string message) - { - var encoded = Encoding.UTF8.GetBytes(message); - - // m_Socket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None); - return SendMessage(sendTextQueue, WebSocketMessageType.Text, new ArraySegment(encoded, 0, encoded.Length)); - } - - private async Task SendMessage(List> queue, WebSocketMessageType messageType, ArraySegment buffer) - { - // Return control to the calling method immediately. - // await Task.Yield (); - - // Make sure we have data. - if (buffer.Count == 0) - { - return; - } - - // The state of the connection is contained in the context Items dictionary. - bool sending; - - lock (Lock) - { - sending = isSending; - - // If not, we are now. - if (!isSending) - { - isSending = true; - } - } - - if (!sending) - { - // Lock with a timeout, just in case. - if (!Monitor.TryEnter(m_Socket, 1000)) - { - // If we couldn't obtain exclusive access to the socket in one second, something is wrong. - await m_Socket.CloseAsync(WebSocketCloseStatus.InternalServerError, string.Empty, m_CancellationToken); - return; - } - - try - { - // Send the message synchronously. - var t = m_Socket.SendAsync(buffer, messageType, true, m_CancellationToken); - t.Wait(m_CancellationToken); - } - finally - { - Monitor.Exit(m_Socket); - } - - // Note that we've finished sending. - lock (Lock) - { - isSending = false; - } - - // Handle any queued messages. - await HandleQueue(queue, messageType); - } - else - { - // Add the message to the queue. - lock (Lock) - { - queue.Add(buffer); - } - } - } - - private async Task HandleQueue(List> queue, WebSocketMessageType messageType) - { - var buffer = new ArraySegment(); - lock (Lock) - { - // Check for an item in the queue. - if (queue.Count > 0) - { - // Pull it off the top. - buffer = queue[0]; - queue.RemoveAt(0); - } - } - - // Send that message. - if (buffer.Count > 0) - { - await SendMessage(queue, messageType, buffer); - } - } - - private Mutex m_MessageListMutex = new Mutex(); - private List m_MessageList = new List(); - - // simple dispatcher for queued messages. - public void DispatchMessageQueue() - { - // lock mutex, copy queue content and clear the queue. - m_MessageListMutex.WaitOne(); - List messageListCopy = new List(); - messageListCopy.AddRange(m_MessageList); - m_MessageList.Clear(); - // release mutex to allow the websocket to add new messages - m_MessageListMutex.ReleaseMutex(); - - foreach (byte[] bytes in messageListCopy) - { - OnMessage?.Invoke(bytes); - } - } - - public async Task Receive() - { - WebSocketCloseCode closeCode = WebSocketCloseCode.Abnormal; - // await new WaitForBackgroundThread(); - - ArraySegment buffer = new ArraySegment(new byte[8192]); - try - { - while (m_Socket.State == System.Net.WebSockets.WebSocketState.Open) - { - WebSocketReceiveResult result = null; - - using (var ms = new MemoryStream()) - { - do - { - result = await m_Socket.ReceiveAsync(buffer, m_CancellationToken); - ms.Write(buffer.Array, buffer.Offset, result.Count); - } - while (!result.EndOfMessage); - - ms.Seek(0, SeekOrigin.Begin); - - if (result.MessageType == WebSocketMessageType.Text) - { - m_MessageListMutex.WaitOne(); - m_MessageList.Add(ms.ToArray()); - m_MessageListMutex.ReleaseMutex(); - - //using (var reader = new StreamReader(ms, Encoding.UTF8)) - //{ - // string message = reader.ReadToEnd(); - // OnMessage?.Invoke(this, new MessageEventArgs(message)); - //} - } - else if (result.MessageType == WebSocketMessageType.Binary) - { - m_MessageListMutex.WaitOne(); - m_MessageList.Add(ms.ToArray()); - m_MessageListMutex.ReleaseMutex(); - - //OnMessage?.Invoke(this, new MessageEventArgs(message)); - OnMessage?.Invoke(ms.ToArray()); - - } - else if (result.MessageType == WebSocketMessageType.Close) - { - await Close(); - closeCode = WebSocketHelpers.ParseCloseCodeEnum((int)result.CloseStatus); - break; - } - } - } - } - catch (Exception ex) - { - m_TokenSource.Cancel(); - } - finally - { - //await new WaitForUpdate(); - OnClose?.Invoke(closeCode); - } - } - - public async Task Close() - { - if (State == WebSocketState2.Open) - { - await m_Socket.CloseAsync(WebSocketCloseStatus.NormalClosure, string.Empty, m_CancellationToken); - } - } - } -#endif - - /// - /// Factory - /// - - /// - /// Class providing static access methods to work with JSLIB WebSocket or WebSocketSharp interface - /// - public static class WebSocketFactory - { - -#if UNITY_WEBGL && !UNITY_EDITOR - /* Map of websocket instances */ - public static Dictionary instances = new Dictionary (); - - /* Delegates */ - public delegate void OnOpenCallback (int instanceId); - public delegate void OnMessageCallback (int instanceId, System.IntPtr msgPtr, int msgSize); - public delegate void OnErrorCallback (int instanceId, System.IntPtr errorPtr); - public delegate void OnCloseCallback (int instanceId, int closeCode); - - /* WebSocket JSLIB callback setters and other functions */ - [DllImport ("__Internal")] - public static extern int WebSocketAllocate (string url); - - [DllImport ("__Internal")] - public static extern int WebSocketAddSubProtocol (int instanceId, string subprotocol); - - [DllImport ("__Internal")] - public static extern void WebSocketFree (int instanceId); - - [DllImport ("__Internal")] - public static extern void WebSocketSetOnOpen (OnOpenCallback callback); - - [DllImport ("__Internal")] - public static extern void WebSocketSetOnMessage (OnMessageCallback callback); - - [DllImport ("__Internal")] - public static extern void WebSocketSetOnError (OnErrorCallback callback); - - [DllImport ("__Internal")] - public static extern void WebSocketSetOnClose (OnCloseCallback callback); - - /* If callbacks was initialized and set */ - public static bool isInitialized = false; - - /* - * Initialize WebSocket callbacks to JSLIB - */ - public static void Initialize () { - - WebSocketSetOnOpen (DelegateOnOpenEvent); - WebSocketSetOnMessage (DelegateOnMessageEvent); - WebSocketSetOnError (DelegateOnErrorEvent); - WebSocketSetOnClose (DelegateOnCloseEvent); - - isInitialized = true; - - } - - /// - /// Called when instance is destroyed (by destructor) - /// Method removes instance from map and free it in JSLIB implementation - /// - /// Instance identifier. - public static void HandleInstanceDestroy (int instanceId) { - - instances.Remove (instanceId); - WebSocketFree (instanceId); - - } - - [MonoPInvokeCallback (typeof (OnOpenCallback))] - public static void DelegateOnOpenEvent (int instanceId) { - - WebSocket instanceRef; - - if (instances.TryGetValue (instanceId, out instanceRef)) { - instanceRef.DelegateOnOpenEvent (); - } - - } - - [MonoPInvokeCallback (typeof (OnMessageCallback))] - public static void DelegateOnMessageEvent (int instanceId, System.IntPtr msgPtr, int msgSize) { - - WebSocket instanceRef; - - if (instances.TryGetValue (instanceId, out instanceRef)) { - byte[] msg = new byte[msgSize]; - Marshal.Copy (msgPtr, msg, 0, msgSize); - - instanceRef.DelegateOnMessageEvent (msg); - } - - } - - [MonoPInvokeCallback (typeof (OnErrorCallback))] - public static void DelegateOnErrorEvent (int instanceId, System.IntPtr errorPtr) { - - WebSocket instanceRef; - - if (instances.TryGetValue (instanceId, out instanceRef)) { - - string errorMsg = Marshal.PtrToStringAuto (errorPtr); - instanceRef.DelegateOnErrorEvent (errorMsg); - - } - - } - - [MonoPInvokeCallback (typeof (OnCloseCallback))] - public static void DelegateOnCloseEvent (int instanceId, int closeCode) { - - WebSocket instanceRef; - - if (instances.TryGetValue (instanceId, out instanceRef)) { - instanceRef.DelegateOnCloseEvent (closeCode); - } - - } -#endif - - /// - /// Create WebSocket client instance - /// - /// The WebSocket instance. - /// WebSocket valid URL. - public static UnityWebSocket CreateInstance(string url) - { - return new UnityWebSocket(url); - } - - } - - // } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocket.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocket.cs deleted file mode 100644 index d457f2a87..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocket.cs +++ /dev/null @@ -1,503 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Net.WebSockets; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using NextGenSoftware.ErrorHandling; -using NextGenSoftware.Logging; -using NextGenSoftware.Logging.Interfaces; -using NextGenSoftware.Utilities; -using NextGenSoftware.WebSocket.Interfaces; - -namespace NextGenSoftware.WebSocket -{ - public class WebSocket// : IWebSocket - { - private Thread _backgroundThread; - private bool _connecting = false; - private bool _disconnecting = false; - private CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource(); - private CancellationToken _cancellationToken; - private WebSocketConfig _config = null; - - //Events - public delegate void Connected(object sender, ConnectedEventArgs e); - public event Connected OnConnected; - - public delegate void Disconnected(object sender, DisconnectedEventArgs e); - public event Disconnected OnDisconnected; - - public delegate void DataSent(object sender, DataSentEventArgs e); - public event DataSent OnDataSent; - - public delegate void DataReceived(object sender, DataReceivedEventArgs e); - public event DataReceived OnDataReceived; - - public delegate void Error(object sender, WebSocketErrorEventArgs e); - public event Error OnError; - - // Properties - public Uri EndPoint { get; set; } - //public ClientWebSocket ClientWebSocket { get; set; } // Original HoloNET WebSocket (still works): - - public UnityWebSocket UnityWebSocket { get; private set; } //Temporily using UnityWebSocket code until can find out why not working with RSM Conductor... - - public WebSocketConfig Config - { - get - { - if (_config == null) - _config = new WebSocketConfig(); - - return _config; - } - set - { - _config = value; - } - } - - public WebSocketState State - { - get - { - //if (ClientWebSocket != null) - // return ClientWebSocket.State; - //else - // return WebSocketState.Closed; - - if (UnityWebSocket != null) - return UnityWebSocket.ClientWebSocket.State; - else - return WebSocketState.Closed; - } - } - - public ILogger Logger { get; set; } = new Logger(); - - public WebSocket(bool logToConsole = true, bool logToFile = true, string releativePathToLogFolder = "Logs", string logFileName = "NextGenSoftwareWebSocket.log", int maxLogFileSize = 1000000, ILogger logger = null, bool insertExtraNewLineAfterLogMessage = false, int indentLogMessagesBy = 1, bool showColouredLogs = true, ConsoleColor debugColour = ConsoleColor.White, ConsoleColor infoColour = ConsoleColor.Green, ConsoleColor warningColour = ConsoleColor.Yellow, ConsoleColor errorColour = ConsoleColor.Red) - { - InitLogger(logger); - Logger.AddLogProvider(new DefaultLogProvider(logToConsole, logToFile, releativePathToLogFolder, logFileName, maxLogFileSize, insertExtraNewLineAfterLogMessage, indentLogMessagesBy, showColouredLogs, debugColour, infoColour, warningColour, errorColour)); - Init(); - } - - public WebSocket(IEnumerable logProviders, bool alsoUseDefaultLogger = false) - { - InitLogger(); - Logger.AddLogProviders(logProviders); - - if (alsoUseDefaultLogger) - Logger.AddLogProvider(new DefaultLogProvider()); - - Init(); - } - - public WebSocket(ILogProvider logProvider, bool alsoUseDefaultLogger = false) - { - InitLogger(); - Logger.AddLogProvider(logProvider); - - if (alsoUseDefaultLogger) - Logger.AddLogProvider(new DefaultLogProvider()); - - Init(); - } - - public WebSocket(ILogger logger) - { - InitLogger(logger); - Init(); - } - - private void InitLogger(ILogger logger = null) - { - if (logger != null) - Logger = logger; - - else if (Logger == null) - Logger = new Logger(); - } - - //public void RecycleWebSocket() - //{ - // ClientWebSocket = new ClientWebSocket(); - //} - - private void Init() - { - try - { - if (Logger.LogProviders.Count == 0) - Logger.AddLogProvider(new DefaultLogProvider()); - - // ClientWebSocket = new ClientWebSocket(); // The original built-in HoloNET WebSocket - // ClientWebSocket.Options.KeepAliveInterval = TimeSpan.FromSeconds(Config.KeepAliveSeconds); - - _cancellationToken = _cancellationTokenSource.Token; //TODO: do something with this! - } - catch (Exception ex) - { - HandleError("Error occurred in WebSocket.Init method.", ex); - } - } - - - private void UnityWebSocket_OnMessage(byte[] data) - { - //OnDataReceived?.Invoke(this, new DataReceivedEventArgs("1", EndPoint, true, data, null, null)); - OnDataReceived?.Invoke(this, new DataReceivedEventArgs() - { - EndPoint = EndPoint, - RawBinaryData = data - }); - } - - private void UnityWebSocket_OnError(string errorMsg) - { - OnError?.Invoke(this, new WebSocketErrorEventArgs() { EndPoint = EndPoint, Reason = errorMsg }); - } - - private void UnityWebSocket_OnClose(WebSocketCloseCode closeCode) - { - OnDisconnected?.Invoke(this, new DisconnectedEventArgs() { EndPoint = EndPoint, Reason = closeCode.ToString() }); - } - - private void UnityWebSocket_OnOpen() - { - OnConnected?.Invoke(this, new ConnectedEventArgs { EndPoint = EndPoint }); - } - - - public async Task ConnectAsync(Uri endpoint) - { - if (UnityWebSocket == null) - { - UnityWebSocket = new UnityWebSocket(endpoint.AbsoluteUri); //The Unity Web Socket code I ported wraps around the ClientWebSocket. - UnityWebSocket.OnOpen += UnityWebSocket_OnOpen; - UnityWebSocket.OnClose += UnityWebSocket_OnClose; - - UnityWebSocket.OnError += UnityWebSocket_OnError; - UnityWebSocket.OnMessage += UnityWebSocket_OnMessage; - } - - await UnityWebSocket.Connect(); - // await UnityWebSocket.Receive(); - } - - public async Task DisconnectAsync() - { - if (UnityWebSocket != null) - { - UnityWebSocket.Close(); - } - } - - /// - /// Connects to the specefied Endpoint. - /// - /// - ///// - //public async Task ConnectAsync(string endpoint) - //{ - // await ConnectAsync(new Uri(endpoint)); - //} - - - ///// - ///// Connects to the specefied Endpoint. - ///// - ///// - ///// - //public async Task ConnectAsync(Uri endpoint) - //{ - // try - // { - // if (Logger.LogProviders.Count == 0) - // throw new WebSocketException("ERROR: No LogProvider Has Been Specified! Please set a LogProvider with the Logger.AddLogProvider method."); - - // this.EndPoint = endpoint; - - // //if (ClientWebSocket == null) - // //{ - // ClientWebSocket = new ClientWebSocket(); // The original built-in HoloNET WebSocket - // ClientWebSocket.Options.KeepAliveInterval = TimeSpan.FromSeconds(Config.KeepAliveSeconds); - // //} - - // if (ClientWebSocket.State != WebSocketState.Connecting && ClientWebSocket.State != WebSocketState.Open && ClientWebSocket.State != WebSocketState.Aborted) - // { - // Logger.Log(string.Concat("Connecting to ", EndPoint, "..."), LogType.Info, true); - - // _connecting = true; - // await ClientWebSocket.ConnectAsync(EndPoint, CancellationToken.None); - // //NetworkServiceProvider.Connect(new Uri(EndPoint)); - // //TODO: need to be able to await this. - - // //if (NetworkServiceProvider.NetSocketState == NetSocketState.Open) - // if (ClientWebSocket.State == WebSocketState.Open) - // { - // Logger.Log(string.Concat("Connected to ", EndPoint.AbsoluteUri), LogType.Info); - // OnConnected?.Invoke(this, new ConnectedEventArgs { EndPoint = EndPoint }); - // _connecting = false; - - // //_backgroundThread = new Thread(new ThreadStart(StartListenAsync)); - // //_backgroundThread.Start(); - - // //await StartListenAsync(); - // StartListenAsync(); - // } - // } - // } - // catch (Exception e) - // { - // HandleError(string.Concat("Error occurred in WebSocket.Connect method connecting to ", EndPoint), e); - // } - //} - - //public async Task DisconnectAsync() - //{ - // try - // { - // if (Logger.LogProviders.Count == 0) - // throw new WebSocketException("ERROR: No LogProvider Has Been Specified! Please set a LogProvider with the Logger.AddLogProvider method."); - - // //if (UnityWebSocket.ClientWebSocket != null && UnityWebSocket.ClientWebSocket.State != WebSocketState.Connecting && UnityWebSocket.ClientWebSocket.State != WebSocketState.Closed && UnityWebSocket.ClientWebSocket.State != WebSocketState.Aborted && UnityWebSocket.ClientWebSocket.State != WebSocketState.CloseSent && UnityWebSocket.ClientWebSocket.State != WebSocketState.CloseReceived) - // //{ - // // Logger.Log(string.Concat("Disconnecting from ", EndPoint, "..."), LogType.Info, true); - // // await UnityWebSocket.ClientWebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Client manually disconnected.", CancellationToken.None); - - // // if (UnityWebSocket.ClientWebSocket.State == WebSocketState.Closed) - // // { - // // Logger.Log(string.Concat("Disconnected from ", EndPoint), LogType.Info); - // // OnDisconnected?.Invoke(this, new DisconnectedEventArgs { EndPoint = EndPoint, Reason = "Disconnected Method Called." }); - // // } - // //} - - // if (ClientWebSocket != null && ClientWebSocket.State != WebSocketState.Connecting && ClientWebSocket.State != WebSocketState.Closed && ClientWebSocket.State != WebSocketState.Aborted && ClientWebSocket.State != WebSocketState.CloseSent && ClientWebSocket.State != WebSocketState.CloseReceived) - // { - // Logger.Log(string.Concat("Disconnecting from ", EndPoint, "..."), LogType.Info, false); - // _disconnecting = true; - - // try - // { - // await ClientWebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Client manually disconnected.", CancellationToken.None); - // } - // catch (Exception ex) - // { - - // } - - // //Wait till the thread has terminated. - // //_backgroundThread?.Join(); - - // if (ClientWebSocket.State == WebSocketState.Closed) - // { - // _disconnecting = false; - // Logger.Log(string.Concat("Disconnected from ", EndPoint), LogType.Info); - - // if (!_connecting && ClientWebSocket != null) - // { - // ClientWebSocket.Dispose(); - // ClientWebSocket = null; - // } - - // OnDisconnected?.Invoke(this, new DisconnectedEventArgs { EndPoint = EndPoint, Reason = "Disconnected Method Called." }); - // } - // } - // } - // catch (Exception e) - // { - // HandleError(string.Concat("Error occurred in WebSocket.Disconnect disconnecting from ", EndPoint), e); - // } - // finally - // { - // if (!_connecting && ClientWebSocket != null) - // { - // ClientWebSocket.Dispose(); - // ClientWebSocket = null; - // } - // } - //} - - - public async Task SendRawDataAsync(byte[] data) - { - try - { - string bytesDecoded = DataHelper.DecodeBinaryDataAsUTF8(data); - string bytesAsString = DataHelper.ConvertBinaryDataToString(data); - - Logger.Log($"Sending Raw Data...", LogType.Info); - Logger.Log($"Bytes: {bytesDecoded} ({bytesAsString})", LogType.Debug); - - await UnityWebSocket.Send(data); - - /* - // Original HoloNET code (still works): - if (ClientWebSocket.State != WebSocketState.Open) - { - string msg = "Connection is not open!"; - HandleError(msg, new InvalidOperationException(msg)); - } - - int sendChunkSize = Config.SendChunkSize; - var messagesCount = (int)Math.Ceiling((double)data.Length / sendChunkSize); - - for (var i = 0; i < messagesCount; i++) - { - var offset = (sendChunkSize * i); - var count = sendChunkSize; - var lastMessage = ((i + 1) == messagesCount); - - if ((count * (i + 1)) > data.Length) - count = data.Length - offset; - - Logger.Log(string.Concat("Sending Data Packet ", (i + 1), " of ", messagesCount, "..."), LogType.Debug, true); - //await ClientWebSocket.SendAsync(new ArraySegment(data, offset, count), WebSocketMessageType.Text, lastMessage, _cancellationToken); - await ClientWebSocket.SendAsync(new ArraySegment(data, offset, count), WebSocketMessageType.Binary, lastMessage, _cancellationToken); - } - */ - - //OnDataSent?.Invoke(this, new DataSentEventArgs { IsCallSuccessful = true, EndPoint = EndPoint, RawBinaryData = data, RawBinaryDataAsString = bytesAsString, RawBinaryDataDecoded = bytesDecoded }); - OnDataSent?.Invoke(this, new DataSentEventArgs { EndPoint = EndPoint, RawBinaryData = data, RawBinaryDataAsString = bytesAsString, RawBinaryDataDecoded = bytesDecoded }); - Logger.Log("Sending Raw Data... Done!", LogType.Info); - } - catch (Exception ex) - { - HandleError("Error occurred in WebSocket.SendRawDataAsync method.", ex); - } - } - - /* - private async Task StartListenAsync() - //private void StartListenAsync() - { - // Task.Run(async () => - // { - var buffer = new byte[Config.ReceiveChunkSize]; - Logger.Log(string.Concat("Listening on ", EndPoint, "..."), LogType.Info, true); - - try - { - while (ClientWebSocket != null && ClientWebSocket.State == WebSocketState.Open) - { - var stringResult = new StringBuilder(); - List dataResponse = new List(); - - WebSocketReceiveResult result; - do - { - if (ClientWebSocket.State != WebSocketState.Open) - break; - - if (Config.NeverTimeOut) - result = await ClientWebSocket.ReceiveAsync(new ArraySegment(buffer), CancellationToken.None); - else - { - using (var cts = new CancellationTokenSource((Config.TimeOutSeconds) * 1000)) - result = await ClientWebSocket.ReceiveAsync(new ArraySegment(buffer), cts.Token); - } - - if (result.MessageType == WebSocketMessageType.Close) - { - if (!_disconnecting && ClientWebSocket != null) - { - string msg = "Closing because received close message."; //TODO: Move all strings to constants at top or resources.strings - await ClientWebSocket.CloseAsync(WebSocketCloseStatus.NormalClosure, msg, CancellationToken.None); - OnDisconnected?.Invoke(this, new DisconnectedEventArgs { EndPoint = EndPoint, Reason = msg }); - Logger.Log(msg, LogType.Info); - - //AttemptReconnect(); //TODO: Not sure re-connect here? - } - } - else - { - stringResult.Append(Encoding.UTF8.GetString(buffer, 0, result.Count)); - Logger.Log(string.Concat("Received Data: ", stringResult), LogType.Debug); - OnDataReceived?.Invoke(this, new DataReceivedEventArgs() - { - EndPoint = EndPoint, - //IsCallSuccessful = true, - RawBinaryData = buffer, - RawBinaryDataAsString = DataHelper.ConvertBinaryDataToString(buffer), - RawBinaryDataDecoded = DataHelper.DecodeBinaryDataAsUTF8(buffer), - RawJSONData = stringResult.ToString(), - WebSocketResult = result - }); - } - } while (!result.EndOfMessage); - } - } - - - catch (TaskCanceledException ex) - { - if (!_connecting && !_disconnecting) - { - string msg = string.Concat("Error occurred in WebSocket.StartListen method. Connection timed out after ", (Config.TimeOutSeconds), " seconds."); - OnDisconnected?.Invoke(this, new DisconnectedEventArgs { EndPoint = EndPoint, Reason = msg }); - HandleError(msg, ex); - await AttemptReconnectAsync(); - } - } - - catch (Exception ex) - { - if (!_connecting && !_disconnecting) - { - OnDisconnected?.Invoke(this, new DisconnectedEventArgs { EndPoint = EndPoint, Reason = string.Concat("Error occurred: ", ex) }); - HandleError("Error occurred in WebSocket.StartListen method. Disconnected because an error occurred.", ex); - await AttemptReconnectAsync(); - } - } - - finally - { - //ClientWebSocket.Dispose(); - } - // }).Wait(); - } - - private async Task AttemptReconnectAsync() - { - try - { - for (int i = 0; i < (Config.ReconnectionAttempts); i++) - { - if (ClientWebSocket != null && ClientWebSocket.State == WebSocketState.Open) - break; - - Logger.Log(string.Concat("Attempting to reconnect... Attempt ", +i), LogType.Info, true); - await ConnectAsync(EndPoint); - await Task.Delay(Config.ReconnectionIntervalSeconds); - } - } - catch (Exception ex) - { - HandleError("Error occurred in WebSocket.AttemptReconnect method.", ex); - } - }*/ - - private void HandleError(string message, Exception exception) - { - message = string.Concat(message, "\nError Details: ", exception != null ? exception.ToString() : ""); - Logger.Log(message, LogType.Error); - - OnError?.Invoke(this, new WebSocketErrorEventArgs { EndPoint = EndPoint, Reason = message, ErrorDetails = exception }); - - switch (Config.ErrorHandlingBehaviour) - { - case ErrorHandlingBehaviour.AlwaysThrowExceptionOnError: - throw new WebSocketException(message, exception, this.EndPoint); - - case ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent: - { - if (OnError == null) - throw new WebSocketException(message, exception, this.EndPoint); - } - break; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketConfig.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketConfig.cs deleted file mode 100644 index 93e7b0645..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketConfig.cs +++ /dev/null @@ -1,59 +0,0 @@ - -using NextGenSoftware.ErrorHandling; - -namespace NextGenSoftware.WebSocket -{ - public class WebSocketConfig - { - /// - /// The time in seconds before the connection times out when calling either method `SendHoloNETRequest` or `CalLZomeFunction`. This defaults to 30 seconds. - /// - public int TimeOutSeconds { get; set; } = 999; //30; - - /// - /// Set this to true if you wish the connection to never time out when making a call from methods `SendHoloNETRequest` and `CallZomeFunction`. This defaults to false. - /// - public bool NeverTimeOut { get; set; } = false; - - /// - /// This is the time to keep the connection alive in seconds. This defaults to 30 seconds. - /// - public int KeepAliveSeconds { get; set; } = 30; - - /// - /// The number of times HoloNETClient will attempt to re-connect if the connection is dropped. The default is 5. - /// - public int ReconnectionAttempts { get; set; } = 5; - - /// - /// The time to wait between each re-connection attempt. The default is 5 seconds. - /// - public int ReconnectionIntervalSeconds { get; set; } = 5; - - /// - /// The size of the buffer to use when sending data to the Holochain Conductor. The default is 1024 bytes. - /// - public int SendChunkSize { get; set; } = 4096; //1024; - - /// - /// The size of the buffer to use when receiving data from the Holochain Conductor. The default is 1024 bytes. - /// - public int ReceiveChunkSize { get; set; } = 4096; //1024; - - /// - /// An enum that specifies what to do when anm error occurs. The options are: `AlwaysThrowExceptionOnError`, `OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent` & `NeverThrowExceptions`). The default is `OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent` meaning it will only throw an error if the `OnError` event has not been subscribed to. This delegates error handling to the caller. If no event has been subscribed then HoloNETClient will throw an error. `AlwaysThrowExceptionOnError` will always throw an error even if the `OnError` event has been subscribed to. The `NeverThrowException` enum option will never throw an error even if the `OnError` event has not been subscribed to. Regardless of what enum is selected, the error will always be logged using whatever `ILogger`s have been injected into the constructor or set on the static Logging.Loggers property. - /// - //public ErrorHandlingBehaviour ErrorHandlingBehaviour { get; set; } = ErrorHandlingBehaviour.OnlyThrowExceptionIfNoErrorHandlerSubscribedToOnErrorEvent; - public ErrorHandlingBehaviour ErrorHandlingBehaviour - { - get - { - return ErrorHandling.ErrorHandling.ErrorHandlingBehaviour; - } - set - { - ErrorHandling.ErrorHandling.ErrorHandlingBehaviour = value; - } - } - } -} \ No newline at end of file diff --git a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketException.cs b/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketException.cs deleted file mode 100644 index 279c26c51..000000000 --- a/external-libs/NextGenSoftware-Libraries/NextGenSoftware Libraries/NextGenSoftware.WebSocket/WebSocketException.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -namespace NextGenSoftware.WebSocket -{ - public class WebSocketException : Exception - { - public Uri EndPoint { get; set; } - - public WebSocketException() - { - - } - - public WebSocketException(string message) : base(message) - { - - } - - public WebSocketException(string message, Exception innerException) : base(message, innerException) - { - - } - - public WebSocketException(string message, Exception innerException, Uri endPoint) : base(message, innerException) - { - this.EndPoint = endPoint; - } - } - - -} diff --git a/start_oasis.ps1 b/start_oasis.ps1 new file mode 100644 index 000000000..de377b2be --- /dev/null +++ b/start_oasis.ps1 @@ -0,0 +1,68 @@ +# OASIS Startup Script - Uses docker/ folder structure +Write-Host "Starting OASIS Infrastructure..." -ForegroundColor Cyan + +# Auto-detect Podman +$DOCKER = "docker" +$COMPOSE = "docker-compose" + +if (Get-Command "podman" -ErrorAction SilentlyContinue) { + if (-not (Get-Command "docker" -ErrorAction SilentlyContinue)) { + Write-Host "Docker not found. Using Podman." -ForegroundColor Yellow + $DOCKER = "podman" + } +} +if (Get-Command "podman-compose" -ErrorAction SilentlyContinue) { + if (-not (Get-Command "docker-compose" -ErrorAction SilentlyContinue)) { + Write-Host "Docker-compose not found. Using Podman-compose." -ForegroundColor Yellow + $COMPOSE = "podman-compose" + } +} + +# Helper function to execute command string +function Exec-Compose { + param($File, $Cmd, $Args) + if ($COMPOSE -eq "podman-compose") { + podman-compose -f $File $Cmd $Args + } else { + docker-compose -f $File $Cmd $Args + } +} + +# 1. Create network if needed +Write-Host "`n1. Ensuring oasis-network exists..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER network inspect oasis-network" | Out-Null +if ($LASTEXITCODE -ne 0) { + Write-Host "Creating network..." -ForegroundColor Green + Invoke-Expression "$DOCKER network create oasis-network" +} + +# 2. Build Base Image +Write-Host "`n2. Building Base Image..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER build -f docker/base/Dockerfile -t oasis-monorepo-base:latest ." +if ($LASTEXITCODE -ne 0) { Write-Error "Base build failed"; exit 1 } + +# 3. Build OASIS API Image +Write-Host "`n3. Building OASIS API..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER build -f docker/oasis-api/Dockerfile -t oasis-api:latest ." +if ($LASTEXITCODE -ne 0) { Write-Error "OASIS API build failed"; exit 1 } + +# 4. Build STAR API Image +Write-Host "`n4. Building STAR API..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER build -f docker/star-api/Dockerfile -t star-api:latest ." +if ($LASTEXITCODE -ne 0) { Write-Error "STAR API build failed"; exit 1 } + +# 5. Start Infrastructure (DBs) +Write-Host "`n5. Starting Infrastructure..." -ForegroundColor Yellow +Exec-Compose "docker/infrastructure/docker-compose.yml" "up" "-d" + +# 6. Start APIs +Write-Host "`n6. Starting OASIS API..." -ForegroundColor Yellow +Exec-Compose "docker/oasis-api/docker-compose.yml" "up" "-d" + +Write-Host "`n7. Starting STAR API..." -ForegroundColor Yellow +Exec-Compose "docker/star-api/docker-compose.yml" "up" "-d" + +Write-Host "`n--- OASIS Started! ---" -ForegroundColor Green +Write-Host "OASIS API: http://localhost:5002" +Write-Host "STAR API: http://localhost:5003" +Write-Host "Mongo Express: http://localhost:8081" diff --git a/start_oasis.sh b/start_oasis.sh new file mode 100644 index 000000000..9b4f14ea9 --- /dev/null +++ b/start_oasis.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# OASIS Startup Script - Uses docker/ folder structure +# Auto-detect Podman +DOCKER="docker" +COMPOSE="docker-compose" + +if ! command -v docker &> /dev/null && command -v podman &> /dev/null; then + echo -e "\033[33mNote: Docker not found. Using Podman.\033[0m" + DOCKER="podman" +fi + +# Check for docker-compose or docker compose (v2) or podman-compose +if command -v docker-compose &> /dev/null; then + COMPOSE="docker-compose" +elif docker compose version &> /dev/null; then + COMPOSE="docker compose" +elif command -v podman-compose &> /dev/null; then + echo -e "\033[33mNote: Docker-compose not found. Using Podman-compose.\033[0m" + COMPOSE="podman-compose" +fi + +echo -e "\033[36mStarting OASIS Infrastructure...\033[0m" + +# 1. Create network if needed +echo -e "\n\033[33m1. Ensuring oasis-network exists...\033[0m" +if ! $DOCKER network inspect oasis-network >/dev/null 2>&1; then + echo -e "\033[32mCreating network...\033[0m" + $DOCKER network create oasis-network +fi + +# 2. Build Base Image +echo -e "\n\033[33m2. Building Base Image...\033[0m" +$DOCKER build -f docker/base/Dockerfile -t oasis-monorepo-base:latest . +if [ $? -ne 0 ]; then echo -e "\033[31mBase build failed\033[0m"; exit 1; fi + +# 3. Build OASIS API Image +echo -e "\n\033[33m3. Building OASIS API...\033[0m" +$DOCKER build -f docker/oasis-api/Dockerfile -t oasis-api:latest . +if [ $? -ne 0 ]; then echo -e "\033[31mOASIS API build failed\033[0m"; exit 1; fi + +# 4. Build STAR API Image +echo -e "\n\033[33m4. Building STAR API...\033[0m" +$DOCKER build -f docker/star-api/Dockerfile -t star-api:latest . +if [ $? -ne 0 ]; then echo -e "\033[31mSTAR API build failed\033[0m"; exit 1; fi + +# 5. Start Infrastructure (DBs) +echo -e "\n\033[33m5. Starting Infrastructure...\033[0m" +$COMPOSE -f docker/infrastructure/docker-compose.yml up -d + +# 6. Start APIs (no build - images already exist) +echo -e "\n\033[33m6. Starting OASIS API...\033[0m" +$COMPOSE -f docker/oasis-api/docker-compose.yml up -d + +echo -e "\n\033[33m7. Starting STAR API...\033[0m" +$COMPOSE -f docker/star-api/docker-compose.yml up -d + +echo -e "\n\033[32m--- OASIS Started! ---\033[0m" +echo "OASIS API: http://localhost:5002" +echo "STAR API: http://localhost:5003" +echo "Mongo Express: http://localhost:8081" diff --git a/stop_oasis.ps1 b/stop_oasis.ps1 new file mode 100644 index 000000000..92d854b2b --- /dev/null +++ b/stop_oasis.ps1 @@ -0,0 +1,49 @@ +# OASIS Cleanup Script - Stops and removes containers/images +Write-Host "Stopping and removing OASIS Services..." -ForegroundColor Cyan + +# Auto-detect Podman +$DOCKER = "docker" +$COMPOSE = "docker-compose" + +if (Get-Command "podman" -ErrorAction SilentlyContinue) { + if (-not (Get-Command "docker" -ErrorAction SilentlyContinue)) { + Write-Host "Docker not found. Using Podman." -ForegroundColor Yellow + $DOCKER = "podman" + } +} +if (Get-Command "podman-compose" -ErrorAction SilentlyContinue) { + if (-not (Get-Command "docker-compose" -ErrorAction SilentlyContinue)) { + Write-Host "Docker-compose not found. Using Podman-compose." -ForegroundColor Yellow + $COMPOSE = "podman-compose" + } +} + +# Helper function to execute command string +function Exec-Compose { + param($File, $Cmd, $Args) + if ($COMPOSE -eq "podman-compose") { + podman-compose -f $File $Cmd $Args + } else { + docker-compose -f $File $Cmd $Args + } +} + +# Stop and remove containers +Write-Host "`n1. Stopping STAR API..." -ForegroundColor Yellow +Exec-Compose "docker/star-api/docker-compose.yml" "down" "--volumes" + +Write-Host "`n2. Stopping OASIS API..." -ForegroundColor Yellow +Exec-Compose "docker/oasis-api/docker-compose.yml" "down" "--volumes" + +Write-Host "`n3. Stopping Infrastructure..." -ForegroundColor Yellow +Exec-Compose "docker/infrastructure/docker-compose.yml" "down" "--volumes" + +# Remove custom images +Write-Host "`n4. Removing OASIS images..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER rmi oasis-api:latest star-api:latest oasis-monorepo-base:latest 2>$null" + +# Optional: Remove network +Write-Host "`n5. Removing network..." -ForegroundColor Yellow +Invoke-Expression "$DOCKER network rm oasis-network 2>$null" + +Write-Host "`n--- OASIS Cleaned Up! ---" -ForegroundColor Green diff --git a/stop_oasis.sh b/stop_oasis.sh new file mode 100644 index 000000000..d2a24690c --- /dev/null +++ b/stop_oasis.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# OASIS Cleanup Script - Stops and removes containers/images +# Auto-detect Podman +DOCKER="docker" +COMPOSE="docker-compose" + +if ! command -v docker &> /dev/null && command -v podman &> /dev/null; then + echo -e "\033[33mNote: Docker not found. Using Podman.\033[0m" + DOCKER="podman" +fi + +# Check for docker-compose or docker compose (v2) or podman-compose +if command -v docker-compose &> /dev/null; then + COMPOSE="docker-compose" +elif docker compose version &> /dev/null; then + COMPOSE="docker compose" +elif command -v podman-compose &> /dev/null; then + echo -e "\033[33mNote: Docker-compose not found. Using Podman-compose.\033[0m" + COMPOSE="podman-compose" +fi + +echo -e "\033[36mStopping and removing OASIS Services...\033[0m" + +# Stop and remove containers and volumes +# Removed '--rmi local' to avoid "image name or ID" errors with manual builds +echo -e "\n\033[33m1. Stopping STAR API...\033[0m" +$COMPOSE -f docker/star-api/docker-compose.yml down --volumes + +echo -e "\n\033[33m2. Stopping OASIS API...\033[0m" +$COMPOSE -f docker/oasis-api/docker-compose.yml down --volumes + +echo -e "\n\033[33m3. Stopping Infrastructure...\033[0m" +$COMPOSE -f docker/infrastructure/docker-compose.yml down --volumes + +# Remove custom images explicitly +echo -e "\n\033[33m4. Removing OASIS images...\033[0m" +$DOCKER rmi oasis-api:latest star-api:latest oasis-monorepo-base:latest 2>/dev/null || true + +# Optional: Remove network +echo -e "\n\033[33m5. Removing network...\033[0m" +$DOCKER network rm oasis-network 2>/dev/null || true + +echo -e "\n\033[32m--- OASIS Cleaned Up! ---\033[0m"