byu-dnasc / proto-smrtlink-share

0 stars 1 forks source link

Main Class Diagram #31

Open jwilki23 opened 2 months ago

jwilki23 commented 2 months ago

Main Class Diagram


classDiagram
   class App{
         +String host_name
         +Int port
         +class RequestHandler
         +run()
         +stop()
    }

   class RequestHandler{
         +logger
         +smrtlink_client
         +do_GET()
         +do_PUT()
         +do_POST()
         +do_DELETE()
         _log_request()
         _minimum_viable_response()
     }
    class SmrtLinkClient{
        +get_status() 
        +get_consensusreadsets()
        +create_analysis_job()
    }
    class DnascSmrtLinkClient{
        +get_project()
    }
    class Project{
        +String name
        +String updated_at
        +String state
        +String description
        +Array datasets
        +int id
        +String created_at
        +Bool is_active
        +Array members
        +from_json()
    }
    DnascSmrtLinkClient -- Project
    SmrtLinkClient <|-- DnascSmrtLinkClient
    App -- RequestHandler
    RequestHandler -- DnascSmrtLinkClient
jwilki23 commented 2 months ago

smrtlink-share uses SmrtLinkClient class as a basis for calling the SMRT Link API. Specifically, DnascSmrtLinkClient extends SmrtLinkClient to add functionality that SmrtLinkClient doesn't have yet