Skip to content

About

Scopevisio OpenApi

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

249 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CompuMaster.Scopevisio.OpenApi - the C# library for the Scopevisio OpenScope REST API

NuGet CompuMaster.Scopevisio.OpenApi

This C# SDK is automatically generated by the OpenAPI Generator project. For more information, please visit

CompuMaster.Dms ecosystem

These separately versioned repositories form the CompuMaster.Dms ecosystem; they are not Git submodules. Repository names, local directory names, and NuGet package IDs can differ.

Component Repository Responsibility
CompuMaster.Dms CompuMaster.Dms Provider-independent DMS workflows, provider adapters, and BrowserUI.
CompuMaster.Ocs CompuMaster.OpenCollaborationService ownCloud/Nextcloud OCS protocol, sharing, and account/group operations.
CompuMaster.Scopevisio.OpenApi CompuMaster.Scopevisio.OpenApi Scopevisio OpenScope REST API and authorization.
CompuMaster.Scopevisio.Teamwork CompuMaster.Scopevisio.Teamwork Teamwork integration connecting OpenScope authorization with CenterDevice clients.
CompuMaster.CenterDevice CompuMaster.CenterDevice.IO CenterDevice REST and file-system SDK; the DMS package dependency is CompuMaster.CenterDevice.Rest.

DMS uses WebDAV for ownCloud/Nextcloud file operations and OCS for supported sharing operations. Teamwork builds on OpenScope and CenterDevice clients. Actual package versions and optional source references are defined by the project files on the branch being tested; an unmerged upstream change is not automatically available in DMS.

For cross-repository work, evaluate the affected libraries before adding a DMS-only workaround. Keep reusable protocol, authentication, transport, and SDK behavior in its owning library, while DMS retains the common workflow/capability model and UI mapping. Preserve standalone library consumers, synchronous APIs, identity semantics, and existing defaults.

Track each upstream change in an issue in its owning repository, link its implementing PR there, and reference that issue as a dependency in the affected DMS issue. Keep reciprocal links, exact commit/package versions, integration order, and verification status current. Distinguish implemented, tested, merged, published, and consumed states; do not close a dependency merely because an upstream branch is green.

Shared remote test systems require coordinated exclusive access across repositories and local sessions, including setup and cleanup. Identically named GitHub Actions concurrency groups in different repositories do not provide a shared lock. See AGENTS.md for working rules.

Frameworks supported

  • .NET 6.0 or later
  • .NET Framework 4.8 or later
  • .NET Standard 2.0 or later

Getting Started

Console sample application

Create a new C# console application project for .NET Framework. Add NuGet dependency CompuMaster.Scopevisio.OpenApi and start coding:

using CompuMaster.Scopevisio.OpenApi;
using CompuMaster.Scopevisio.OpenApi.Api;
using CompuMaster.Scopevisio.OpenApi.Client;
using CompuMaster.Scopevisio.OpenApi.Model;
using System;
using System.Threading.Tasks;

namespace ConsoleSampleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Please enter username: ");
            string username = Console.ReadLine();
            Console.WriteLine("Please enter customer no.: ");
            string customerno = Console.ReadLine();
            Console.WriteLine("Please enter password: ");
            string password = Console.ReadLine();

            OpenScopeApiClient OpenScopeClient = new OpenScopeApiClient();
            try
            {
                OpenScopeClient.AuthorizeWithUserCredentials(username, customerno, password);
                System.Console.WriteLine("Authorization successful, future requests can be executed with access token:\n" + OpenScopeClient.Token.AccessToken);
                System.Console.WriteLine();

                CompuMaster.Scopevisio.OpenApi.Model.Version VersionResult = OpenScopeClient.AdditionalApi.GetVersionWithHttpInfo().Data;
                System.Console.WriteLine("Interface version=" + VersionResult.ToString());
                System.Console.WriteLine();

                CompuMaster.Scopevisio.OpenApi.Model.Hello HelloResult = OpenScopeClient.AdditionalApi.HelloJsonWithHttpInfo().Data;
                System.Console.WriteLine("Hello world=" + HelloResult.HelloMessage);
                System.Console.WriteLine();

                Task<CompuMaster.Scopevisio.OpenApi.Model.Hello> t = HelloTask(OpenScopeClient);
                t.Wait();
                System.Console.WriteLine("Async hello world=" + t.Result.HelloMessage);
                System.Console.WriteLine();
            }
            catch (ApiException e)
            {
                 System.Console.WriteLine("Exception when calling API: " + e.Message);
                 System.Console.WriteLine("Status Code: " + e.ErrorCode);
                 System.Console.WriteLine(e.StackTrace);
            }
            catch (Exception e)
            {
                System.Console.WriteLine("Exception: " + e.ToString());
            }
        }

        /// <summary>
        /// Sample of async call
        /// </summary>
        /// <param name="openScopeClient"></param>
        /// <returns></returns>
        static async Task<CompuMaster.Scopevisio.OpenApi.Model.Hello> HelloTask(OpenScopeApiClient openScopeClient)
        {
            ApiResponse<CompuMaster.Scopevisio.OpenApi.Model.Hello> HelloResponse = await openScopeClient.AdditionalApi.HelloJsonAsyncWithHttpInfo();
            return HelloResponse.Data;
        }
    }
}

Output of sample application

Please enter username:
jon.doe@foo.bar
Please enter customer no.:
1234567
Please enter password:
*******************
Authorization successful, future requests can be executed with access token:
4792ad4F-eeac34D0-44AF-8AD2-9Baf1aBA8556B2343

Interface version=class Version {
  BuildDate:   11.05.2020 09:36:00
  BuildNumber: 19585
  CommitHash:  9a6ed04ce34c80422ee74a46191f2eb028f3f369
  CommitDate:  11.05.2020 09:34:41
}

Hello world=jon.doe@foo.bar

Async hello world=jon.doe@foo.bar

Dependencies

About

Scopevisio OpenApi

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages