Apps
Directories
- Users
The `GlassHopper/Definitions/Apps/Users directory serves as a centralized location for defining Data Transfer Objects (DTOs) specifically related to user and organizational data within the application's authentication and authorization logic. The main components include models such as `ApplicationRoleDto`, `LoginUserResponseDto`, `OrganizationDto`, and `UserOrganizationDto` that standardize how user, role, and organization information is structured for transfer between system layers. These files are organized under the `GlassHopper.Definitions.Apps.Users` namespace, indicating they are tightly coupled with user management features. By encapsulating specific attributes like login responses and user-organization relationships, these DTOs ensure consistent data contracts across the application's API or service boundaries.
Files
- CreateJobRequest.cs
This file defines a `CreateJobRequest` data transfer object (DTO) within the `GlassHopper.Definitions.Apps` namespace. It serves as a structured input model for creating new job records in an application, likely used in API requests or service layer interactions. The key components include mandatory identifiers like `Id` and `OrganizationId`, along with descriptive fields such as `Name` and `Description`. Additionally, it features an optional `FolderId` property, allowing jobs to be optionally associated with specific folders. This simple POCO class facilitates clean separation of concerns by encapsulating job creation parameters.
- ErrorInRequest.cs
This file defines a simple C# data transfer object named `ErrorInRequest` within the `GlassHopper.Definitions.Apps` namespace. It serves as a structured container for representing error details, likely used in API responses or internal application logic. The class consists of two primary components: a `Code` property for standardized error identifiers and a `Message` property for human-readable descriptions. By encapsulating these fields, it facilitates consistent error handling and serialization across the application. This lightweight structure is typical for DTOs (Data Transfer Objects) that map directly to JSON or XML payloads.
- GlassAnalysisInput.cs
This C# class, `GlassAnalysisInput`, serves as a data transfer object for configuring glass structural analysis within the "GlassHopper" application. It aggregates essential input parameters such as geometry (`Mesh`), material properties (`Stratigraphy`), boundary conditions (`Restrains`, `SpacerRestrains`), and load scenarios (`Loads`, `Combinations`). The class also manages analytical settings through `ReferenceTemperatures` and `AnalysisOptions`, alongside a unique job identifier. Key functionality is provided by its serialization methods, which utilize JSON.NET to convert the complex object structure into and from JSON strings for storage or transmission. These methods employ specific converters like `GraphicMeshJsonConverter` to handle custom mesh data types during the conversion process.
- GlassAnalysisOutput.cs
`GlassAnalysisOutput.cs` is a C# data structure class within the `GlassHopper.Definitions.Apps` namespace designed to store and manage results from glass structural analysis simulations. It holds primary result dictionaries for stresses and displacements indexed by combination GUIDs, along with specific arrays for Ultimate Limit State (ULS) and Serviceability Limit State (SLS) checks. The class provides utility methods to extract vertex-specific displacement vectors and mean stress values, supporting coordinate system transformations for the latter. Additionally, it includes a static helper method to calculate package and pane indices based on a given glass stratigraphy element. This class acts as an intermediary container that bridges raw simulation data with geometric representations in Rhino/Grasshopper environments.
- OrganizationFolderDto.cs
This file defines a Data Transfer Object (DTO) named `OrganizationFolderDto` within the `GlassHopper.Definitions.Apps` namespace. It models an organizational folder structure by including properties for its unique identifier (`Id`), associated organization (`OrganizationId`), and optional hierarchical parent reference (`ParentId` and `Parent`). The class also captures the folder's name and maintains a collection of its immediate subfolders via the `ChildrernFolders` property, which contains a typo in the variable name. This structure enables the representation of nested folder hierarchies, likely for UI display or API communication purposes.
- PlanLimitsDto.cs
This file defines a Data Transfer Object (DTO) named `PlanLimitsDto within the `GlassHopper.Definitions.Apps` namespace. It serves as a structured container for various usage quotas and constraints associated with a specific plan or subscription tier. The class consists entirely of nullable integer and double properties, representing limits such as calculation counts, layer capacities, mesh nodes, and physical load parameters. These fields likely facilitate the serialization and transmission of plan configuration data between a backend service and a client application. By using nullable types, the DTO allows for optional or undefined limits, providing flexibility in how restrictions are applied. This structure is typical for enforcing business rules or resource allocation in software licensing systems.
- UpdateJobRequestDto.cs
This file defines a Data Transfer Object (DTO) named `UpdateJobRequestDto` within the `GlassHopper.Definitions.Apps` namespace. It serves as a structured container for receiving update requests for a job entity in an application. The class contains three public properties: `Name`, `Description`, and an optional `FolderId`. These components allow clients to modify specific attributes of a job record without exposing the entire object. By using nullable types for `FolderId`, it supports partial updates where not all fields need to be provided.