xbim_identity 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +174 -0
  4. data/Rakefile +10 -0
  5. data/lib/xbim_identity/api/authentication_api.rb +118 -0
  6. data/lib/xbim_identity/api/client_applications_api.rb +315 -0
  7. data/lib/xbim_identity/api/invitations_api.rb +489 -0
  8. data/lib/xbim_identity/api/me_api.rb +148 -0
  9. data/lib/xbim_identity/api/members_api.rb +406 -0
  10. data/lib/xbim_identity/api/registration_api.rb +85 -0
  11. data/lib/xbim_identity/api/tenants_api.rb +709 -0
  12. data/lib/xbim_identity/api/users_api.rb +308 -0
  13. data/lib/xbim_identity/api_client.rb +390 -0
  14. data/lib/xbim_identity/api_error.rb +57 -0
  15. data/lib/xbim_identity/configuration.rb +278 -0
  16. data/lib/xbim_identity/models/application_type.rb +39 -0
  17. data/lib/xbim_identity/models/client_app.rb +351 -0
  18. data/lib/xbim_identity/models/client_app_endpoint.rb +239 -0
  19. data/lib/xbim_identity/models/draft_invitation.rb +379 -0
  20. data/lib/xbim_identity/models/invitation.rb +379 -0
  21. data/lib/xbim_identity/models/invitation_create.rb +253 -0
  22. data/lib/xbim_identity/models/invitation_edit.rb +239 -0
  23. data/lib/xbim_identity/models/invite_status.rb +41 -0
  24. data/lib/xbim_identity/models/master.rb +331 -0
  25. data/lib/xbim_identity/models/master_base.rb +243 -0
  26. data/lib/xbim_identity/models/master_subscription.rb +323 -0
  27. data/lib/xbim_identity/models/o_data_boolean.rb +230 -0
  28. data/lib/xbim_identity/models/o_data_client_app_endpoint_list.rb +252 -0
  29. data/lib/xbim_identity/models/o_data_client_app_list.rb +252 -0
  30. data/lib/xbim_identity/models/o_data_invitation_list.rb +252 -0
  31. data/lib/xbim_identity/models/o_data_string.rb +230 -0
  32. data/lib/xbim_identity/models/o_data_tenant_list.rb +252 -0
  33. data/lib/xbim_identity/models/o_data_tenant_user_list.rb +252 -0
  34. data/lib/xbim_identity/models/o_data_user_list.rb +252 -0
  35. data/lib/xbim_identity/models/problem_details.rb +259 -0
  36. data/lib/xbim_identity/models/region.rb +280 -0
  37. data/lib/xbim_identity/models/region_info.rb +256 -0
  38. data/lib/xbim_identity/models/subscription.rb +309 -0
  39. data/lib/xbim_identity/models/team_member_create.rb +229 -0
  40. data/lib/xbim_identity/models/team_member_edit.rb +219 -0
  41. data/lib/xbim_identity/models/tenancy_type.rb +38 -0
  42. data/lib/xbim_identity/models/tenant.rb +383 -0
  43. data/lib/xbim_identity/models/tenant_create.rb +267 -0
  44. data/lib/xbim_identity/models/tenant_edit.rb +229 -0
  45. data/lib/xbim_identity/models/tenant_role.rb +39 -0
  46. data/lib/xbim_identity/models/tenant_user.rb +299 -0
  47. data/lib/xbim_identity/models/token_err_response.rb +219 -0
  48. data/lib/xbim_identity/models/token_response.rb +259 -0
  49. data/lib/xbim_identity/models/user.rb +261 -0
  50. data/lib/xbim_identity/models/user_create.rb +247 -0
  51. data/lib/xbim_identity/models/user_tenant.rb +279 -0
  52. data/lib/xbim_identity/version.rb +15 -0
  53. data/lib/xbim_identity.rb +83 -0
  54. data/spec/api/authentication_api_spec.rb +52 -0
  55. data/spec/api/client_applications_api_spec.rb +101 -0
  56. data/spec/api/invitations_api_spec.rb +130 -0
  57. data/spec/api/me_api_spec.rb +61 -0
  58. data/spec/api/members_api_spec.rb +113 -0
  59. data/spec/api/registration_api_spec.rb +48 -0
  60. data/spec/api/tenants_api_spec.rb +176 -0
  61. data/spec/api/users_api_spec.rb +95 -0
  62. data/spec/api_client_spec.rb +226 -0
  63. data/spec/configuration_spec.rb +42 -0
  64. data/spec/models/application_type_spec.rb +28 -0
  65. data/spec/models/client_app_endpoint_spec.rb +46 -0
  66. data/spec/models/client_app_spec.rb +112 -0
  67. data/spec/models/draft_invitation_spec.rb +130 -0
  68. data/spec/models/invitation_create_spec.rb +52 -0
  69. data/spec/models/invitation_edit_spec.rb +46 -0
  70. data/spec/models/invitation_spec.rb +130 -0
  71. data/spec/models/invite_status_spec.rb +28 -0
  72. data/spec/models/master_base_spec.rb +46 -0
  73. data/spec/models/master_spec.rb +94 -0
  74. data/spec/models/master_subscription_spec.rb +94 -0
  75. data/spec/models/o_data_boolean_spec.rb +40 -0
  76. data/spec/models/o_data_client_app_endpoint_list_spec.rb +52 -0
  77. data/spec/models/o_data_client_app_list_spec.rb +52 -0
  78. data/spec/models/o_data_invitation_list_spec.rb +52 -0
  79. data/spec/models/o_data_string_spec.rb +40 -0
  80. data/spec/models/o_data_tenant_list_spec.rb +52 -0
  81. data/spec/models/o_data_tenant_user_list_spec.rb +52 -0
  82. data/spec/models/o_data_user_list_spec.rb +52 -0
  83. data/spec/models/problem_details_spec.rb +58 -0
  84. data/spec/models/region_info_spec.rb +46 -0
  85. data/spec/models/region_spec.rb +58 -0
  86. data/spec/models/subscription_spec.rb +88 -0
  87. data/spec/models/team_member_create_spec.rb +40 -0
  88. data/spec/models/team_member_edit_spec.rb +34 -0
  89. data/spec/models/tenancy_type_spec.rb +28 -0
  90. data/spec/models/tenant_create_spec.rb +58 -0
  91. data/spec/models/tenant_edit_spec.rb +40 -0
  92. data/spec/models/tenant_role_spec.rb +28 -0
  93. data/spec/models/tenant_spec.rb +130 -0
  94. data/spec/models/tenant_user_spec.rb +82 -0
  95. data/spec/models/token_err_response_spec.rb +34 -0
  96. data/spec/models/token_response_spec.rb +58 -0
  97. data/spec/models/user_create_spec.rb +46 -0
  98. data/spec/models/user_spec.rb +58 -0
  99. data/spec/models/user_tenant_spec.rb +70 -0
  100. data/spec/spec_helper.rb +111 -0
  101. data/xbim_identity-1.0.0.gem +0 -0
  102. data/xbim_identity.gemspec +38 -0
  103. metadata +184 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 112705db62b705ebe866f2c899affad313dd4aac363480cb2012e580387e2544
4
+ data.tar.gz: b878ba1c57d098f9d6ecc70f4b250800d999595e1fe85b699c78cc55ebef33fa
5
+ SHA512:
6
+ metadata.gz: 64fda6cdee34215b67fd15ab756415fff0060a1de6a35a5ec55f28e1631bd0aaebdadbf6f5355f1b519c62b23f0f07ef5b63da6e125a1dbbc979bf3c4a4cb39f
7
+ data.tar.gz: a1723f61c4abcfe57c87dfe23c0f8c5d70df43b9830f44f14c3283cf18b6a629b626a56bb8d066f86608046f70ff815461871cad8b4cc3de828d2642f516ca77
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end
data/README.md ADDED
@@ -0,0 +1,174 @@
1
+ # xbim_identity
2
+
3
+ XbimIdentity - the Ruby gem for the Xbim Flex Identity API 2.0
4
+
5
+ Communication centralised around construction data
6
+
7
+ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
+
9
+ - API version: 2.0
10
+ - Package version: 1.0.0
11
+ - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
+ For more information, please visit [https://xbim.net](https://xbim.net)
13
+
14
+ ## Installation
15
+
16
+ ### Build a gem
17
+
18
+ To build the Ruby code into a gem:
19
+
20
+ ```shell
21
+ gem build xbim_identity.gemspec
22
+ ```
23
+
24
+ Then either install the gem locally:
25
+
26
+ ```shell
27
+ gem install ./xbim_identity-1.0.0.gem
28
+ ```
29
+
30
+ (for development, run `gem install --dev ./xbim_identity-1.0.0.gem` to install the development dependencies)
31
+
32
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
33
+
34
+ Finally add this to the Gemfile:
35
+
36
+ gem 'xbim_identity', '~> 1.0.0'
37
+
38
+ ### Install from Git
39
+
40
+ If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:
41
+
42
+ gem 'xbim_identity', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'
43
+
44
+ ### Include the Ruby code directly
45
+
46
+ Include the Ruby code directly using `-I` as follows:
47
+
48
+ ```shell
49
+ ruby -Ilib script.rb
50
+ ```
51
+
52
+ ## Getting Started
53
+
54
+ Please follow the [installation](#installation) procedure and then run the following code:
55
+
56
+ ```ruby
57
+ # Load the gem
58
+ require 'xbim_identity'
59
+
60
+ api_instance = XbimIdentity::AuthenticationApi.new
61
+ client_id = 'client_id_example' # String | Client ID
62
+ client_secret = 'client_secret_example' # String | Client secret (password)
63
+ grant_type = 'grant_type_example' # String | Grant type must be 'master'
64
+ scope = 'scope_example' # String | Required API scopes
65
+ opts = {
66
+ user_id: 'user_id_example', # String | Xbim Flex user ID
67
+ idp_id: 'idp_id_example' # String | External identity provider user ID
68
+ }
69
+
70
+ begin
71
+ #Post Authentication get authorization token
72
+ result = api_instance.get_authorization_token(client_id, client_secret, grant_type, scope, opts)
73
+ p result
74
+ rescue XbimIdentity::ApiError => e
75
+ puts "Exception when calling AuthenticationApi->get_authorization_token: #{e}"
76
+ end
77
+
78
+ ```
79
+
80
+ ## Documentation for API Endpoints
81
+
82
+ All URIs are relative to *https://apis.xbim-dev.net*
83
+
84
+ Class | Method | HTTP request | Description
85
+ ------------ | ------------- | ------------- | -------------
86
+ *XbimIdentity::AuthenticationApi* | [**get_authorization_token**](docs/AuthenticationApi.md#get_authorization_token) | **POST** /id/2.0/tokens | Post Authentication get authorization token
87
+ *XbimIdentity::ClientApplicationsApi* | [**id20_client_applications_client_id_endpoints_get**](docs/ClientApplicationsApi.md#id20_client_applications_client_id_endpoints_get) | **GET** /id/2.0/ClientApplications('{clientId}')/Endpoints | Gets Endpointsfor the given client
88
+ *XbimIdentity::ClientApplicationsApi* | [**id20_client_applications_client_id_endpoints_post**](docs/ClientApplicationsApi.md#id20_client_applications_client_id_endpoints_post) | **POST** /id/2.0/ClientApplications('{clientId}')/Endpoints | Adds an Endpoints to the given client
89
+ *XbimIdentity::ClientApplicationsApi* | [**id20_client_applications_client_id_get**](docs/ClientApplicationsApi.md#id20_client_applications_client_id_get) | **GET** /id/2.0/ClientApplications('{clientId}') | Gets the specified Client Application by its client id
90
+ *XbimIdentity::ClientApplicationsApi* | [**id20_client_applications_get**](docs/ClientApplicationsApi.md#id20_client_applications_get) | **GET** /id/2.0/ClientApplications | Operations to query a set of data
91
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_get**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_get) | **GET** /id/2.0/Tenants({tenantId})/Invitations | Operations to query the invitations
92
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_invitation_id_despatch_post**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_invitation_id_despatch_post) | **POST** /id/2.0/Tenants({tenantId})/Invitations({invitationId})/Despatch | Sends or Resends an Invitation Email.
93
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_invitation_id_get**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_invitation_id_get) | **GET** /id/2.0/Tenants({tenantId})/Invitations({invitationId}) | Gets the specified Invitation by its key
94
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_invitation_id_patch**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_invitation_id_patch) | **PATCH** /id/2.0/Tenants({tenantId})/Invitations({invitationId}) | Amend an existing invitation and send an email
95
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_invitation_id_revoke_post**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_invitation_id_revoke_post) | **POST** /id/2.0/Tenants({tenantId})/Invitations({invitationId})/Revoke | Revokes an Invitation.
96
+ *XbimIdentity::InvitationsApi* | [**id20_tenants_tenant_id_invitations_post**](docs/InvitationsApi.md#id20_tenants_tenant_id_invitations_post) | **POST** /id/2.0/Tenants({tenantId})/Invitations | Creates a new Invitation. The Invitation will only be sent if 'DraftOnly' is false
97
+ *XbimIdentity::MeApi* | [**id20_me_get**](docs/MeApi.md#id20_me_get) | **GET** /id/2.0/Me | Gets details of the current logged in user
98
+ *XbimIdentity::MeApi* | [**id20_me_regions_get**](docs/MeApi.md#id20_me_regions_get) | **GET** /id/2.0/Me/Regions | Gets a list of regions where current user has access to any tenancy (workspace)
99
+ *XbimIdentity::MembersApi* | [**id20_tenants_tenant_id_members_get**](docs/MembersApi.md#id20_tenants_tenant_id_members_get) | **GET** /id/2.0/Tenants({tenantId})/Members | Team members
100
+ *XbimIdentity::MembersApi* | [**id20_tenants_tenant_id_members_post**](docs/MembersApi.md#id20_tenants_tenant_id_members_post) | **POST** /id/2.0/Tenants({tenantId})/Members | Creates a new Team member adding an existing user to the tenant
101
+ *XbimIdentity::MembersApi* | [**id20_tenants_tenant_id_members_user_id_delete**](docs/MembersApi.md#id20_tenants_tenant_id_members_user_id_delete) | **DELETE** /id/2.0/Tenants({tenantId})/Members({userId}) | Revokes a user from this Tenant. Requires the Administrator Tenant Role
102
+ *XbimIdentity::MembersApi* | [**id20_tenants_tenant_id_members_user_id_get**](docs/MembersApi.md#id20_tenants_tenant_id_members_user_id_get) | **GET** /id/2.0/Tenants({tenantId})/Members({userId}) | Gets the specified Tenant Member by their userId
103
+ *XbimIdentity::MembersApi* | [**id20_tenants_tenant_id_members_user_id_patch**](docs/MembersApi.md#id20_tenants_tenant_id_members_user_id_patch) | **PATCH** /id/2.0/Tenants({tenantId})/Members({userId}) | Amend an existing team member's team details
104
+ *XbimIdentity::RegistrationApi* | [**id20_registration_acceptinvitation_post**](docs/RegistrationApi.md#id20_registration_acceptinvitation_post) | **POST** /id/2.0/registration/acceptinvitation | Accepts a user's invitation to join a Tenant
105
+ *XbimIdentity::TenantsApi* | [**get_tenant_by_identifier**](docs/TenantsApi.md#get_tenant_by_identifier) | **GET** /id/2.0/Tenants/GetById(identifier='{identifier}') | Gets the specified Tenant by its unique identifier
106
+ *XbimIdentity::TenantsApi* | [**id20_tenants_demo_get**](docs/TenantsApi.md#id20_tenants_demo_get) | **GET** /id/2.0/Tenants/Demo | Registers user in the 'Demo' tenancy
107
+ *XbimIdentity::TenantsApi* | [**id20_tenants_demo_tenant_id_get**](docs/TenantsApi.md#id20_tenants_demo_tenant_id_get) | **GET** /id/2.0/Tenants/DemoTenantId | Gets publickly known demo tenant id
108
+ *XbimIdentity::TenantsApi* | [**id20_tenants_get**](docs/TenantsApi.md#id20_tenants_get) | **GET** /id/2.0/Tenants | Operations to query a set of data
109
+ *XbimIdentity::TenantsApi* | [**id20_tenants_is_identifier_available_idid_get**](docs/TenantsApi.md#id20_tenants_is_identifier_available_idid_get) | **GET** /id/2.0/Tenants/IsIdentifierAvailable(id='{id}') | Checks the availability of a Tenant identifier
110
+ *XbimIdentity::TenantsApi* | [**id20_tenants_post**](docs/TenantsApi.md#id20_tenants_post) | **POST** /id/2.0/Tenants | Creates a new Tenant for the current user
111
+ *XbimIdentity::TenantsApi* | [**id20_tenants_tenant_id_delete**](docs/TenantsApi.md#id20_tenants_tenant_id_delete) | **DELETE** /id/2.0/Tenants({tenantId}) | Delete the tenant
112
+ *XbimIdentity::TenantsApi* | [**id20_tenants_tenant_id_get**](docs/TenantsApi.md#id20_tenants_tenant_id_get) | **GET** /id/2.0/Tenants({tenantId}) | Gets the specified Tenant by its key
113
+ *XbimIdentity::TenantsApi* | [**id20_tenants_tenant_id_patch**](docs/TenantsApi.md#id20_tenants_tenant_id_patch) | **PATCH** /id/2.0/Tenants({tenantId}) | Patch tenant
114
+ *XbimIdentity::TenantsApi* | [**id20_tenants_tenant_id_subscription_get**](docs/TenantsApi.md#id20_tenants_tenant_id_subscription_get) | **GET** /id/2.0/Tenants({tenantId})/Subscription | Gets Tenant Subscription Plans
115
+ *XbimIdentity::UsersApi* | [**id20_users_get**](docs/UsersApi.md#id20_users_get) | **GET** /id/2.0/Users | Get Users
116
+ *XbimIdentity::UsersApi* | [**id20_users_get_by_external_id_external_idexternal_id_get**](docs/UsersApi.md#id20_users_get_by_external_id_external_idexternal_id_get) | **GET** /id/2.0/Users/GetByExternalId(externalId='{externalId}') | Gets the specified User by their key
117
+ *XbimIdentity::UsersApi* | [**id20_users_post**](docs/UsersApi.md#id20_users_post) | **POST** /id/2.0/Users | Post Users
118
+ *XbimIdentity::UsersApi* | [**id20_users_user_id_get**](docs/UsersApi.md#id20_users_user_id_get) | **GET** /id/2.0/Users({userId}) | Gets the specified User by their key
119
+
120
+
121
+ ## Documentation for Models
122
+
123
+ - [XbimIdentity::ApplicationType](docs/ApplicationType.md)
124
+ - [XbimIdentity::ClientApp](docs/ClientApp.md)
125
+ - [XbimIdentity::ClientAppEndpoint](docs/ClientAppEndpoint.md)
126
+ - [XbimIdentity::DraftInvitation](docs/DraftInvitation.md)
127
+ - [XbimIdentity::Invitation](docs/Invitation.md)
128
+ - [XbimIdentity::InvitationCreate](docs/InvitationCreate.md)
129
+ - [XbimIdentity::InvitationEdit](docs/InvitationEdit.md)
130
+ - [XbimIdentity::InviteStatus](docs/InviteStatus.md)
131
+ - [XbimIdentity::Master](docs/Master.md)
132
+ - [XbimIdentity::MasterBase](docs/MasterBase.md)
133
+ - [XbimIdentity::MasterSubscription](docs/MasterSubscription.md)
134
+ - [XbimIdentity::ODataBoolean](docs/ODataBoolean.md)
135
+ - [XbimIdentity::ODataClientAppEndpointList](docs/ODataClientAppEndpointList.md)
136
+ - [XbimIdentity::ODataClientAppList](docs/ODataClientAppList.md)
137
+ - [XbimIdentity::ODataInvitationList](docs/ODataInvitationList.md)
138
+ - [XbimIdentity::ODataString](docs/ODataString.md)
139
+ - [XbimIdentity::ODataTenantList](docs/ODataTenantList.md)
140
+ - [XbimIdentity::ODataTenantUserList](docs/ODataTenantUserList.md)
141
+ - [XbimIdentity::ODataUserList](docs/ODataUserList.md)
142
+ - [XbimIdentity::ProblemDetails](docs/ProblemDetails.md)
143
+ - [XbimIdentity::Region](docs/Region.md)
144
+ - [XbimIdentity::RegionInfo](docs/RegionInfo.md)
145
+ - [XbimIdentity::Subscription](docs/Subscription.md)
146
+ - [XbimIdentity::TeamMemberCreate](docs/TeamMemberCreate.md)
147
+ - [XbimIdentity::TeamMemberEdit](docs/TeamMemberEdit.md)
148
+ - [XbimIdentity::TenancyType](docs/TenancyType.md)
149
+ - [XbimIdentity::Tenant](docs/Tenant.md)
150
+ - [XbimIdentity::TenantCreate](docs/TenantCreate.md)
151
+ - [XbimIdentity::TenantEdit](docs/TenantEdit.md)
152
+ - [XbimIdentity::TenantRole](docs/TenantRole.md)
153
+ - [XbimIdentity::TenantUser](docs/TenantUser.md)
154
+ - [XbimIdentity::TokenErrResponse](docs/TokenErrResponse.md)
155
+ - [XbimIdentity::TokenResponse](docs/TokenResponse.md)
156
+ - [XbimIdentity::User](docs/User.md)
157
+ - [XbimIdentity::UserCreate](docs/UserCreate.md)
158
+ - [XbimIdentity::UserTenant](docs/UserTenant.md)
159
+
160
+
161
+ ## Documentation for Authorization
162
+
163
+
164
+ ### oauth2
165
+
166
+
167
+ - **Type**: OAuth
168
+ - **Flow**: implicit
169
+ - **Authorization URL**: https://apis.xbim-dev.net/connect/authorize
170
+ - **Scopes**:
171
+ - api.read: Access read operations
172
+ - api.write: Access write operations
173
+ - api.admin: Access Super User operations
174
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task default: :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
@@ -0,0 +1,118 @@
1
+ =begin
2
+ #Xbim Flex Identity API 2.0
3
+
4
+ #Communication centralised around construction data
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: info@xbim.net
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module XbimIdentity
16
+ class AuthenticationApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Post Authentication get authorization token
23
+ # <span style='font-size: 17px;'>Summary:</span>Gets an access token using a non-interactive flow. Only available for clients with secrets and owning Master. When no user ID is supplied, master owner user is logged in. Client can only sign in a user created in the same Master..<br/>Return Type: <b>TokenResponse</b><br/><br/>
24
+ # @param client_id [String] Client ID
25
+ # @param client_secret [String] Client secret (password)
26
+ # @param grant_type [String] Grant type must be &#39;master&#39;
27
+ # @param scope [String] Required API scopes
28
+ # @param [Hash] opts the optional parameters
29
+ # @option opts [String] :user_id Xbim Flex user ID
30
+ # @option opts [String] :idp_id External identity provider user ID
31
+ # @return [TokenResponse]
32
+ def get_authorization_token(client_id, client_secret, grant_type, scope, opts = {})
33
+ data, _status_code, _headers = get_authorization_token_with_http_info(client_id, client_secret, grant_type, scope, opts)
34
+ data
35
+ end
36
+
37
+ # Post Authentication get authorization token
38
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets an access token using a non-interactive flow. Only available for clients with secrets and owning Master. When no user ID is supplied, master owner user is logged in. Client can only sign in a user created in the same Master..&lt;br/&gt;Return Type: &lt;b&gt;TokenResponse&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
39
+ # @param client_id [String] Client ID
40
+ # @param client_secret [String] Client secret (password)
41
+ # @param grant_type [String] Grant type must be &#39;master&#39;
42
+ # @param scope [String] Required API scopes
43
+ # @param [Hash] opts the optional parameters
44
+ # @option opts [String] :user_id Xbim Flex user ID
45
+ # @option opts [String] :idp_id External identity provider user ID
46
+ # @return [Array<(TokenResponse, Integer, Hash)>] TokenResponse data, response status code and response headers
47
+ def get_authorization_token_with_http_info(client_id, client_secret, grant_type, scope, opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.get_authorization_token ...'
50
+ end
51
+ # verify the required parameter 'client_id' is set
52
+ if @api_client.config.client_side_validation && client_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'client_id' when calling AuthenticationApi.get_authorization_token"
54
+ end
55
+ # verify the required parameter 'client_secret' is set
56
+ if @api_client.config.client_side_validation && client_secret.nil?
57
+ fail ArgumentError, "Missing the required parameter 'client_secret' when calling AuthenticationApi.get_authorization_token"
58
+ end
59
+ # verify the required parameter 'grant_type' is set
60
+ if @api_client.config.client_side_validation && grant_type.nil?
61
+ fail ArgumentError, "Missing the required parameter 'grant_type' when calling AuthenticationApi.get_authorization_token"
62
+ end
63
+ # verify the required parameter 'scope' is set
64
+ if @api_client.config.client_side_validation && scope.nil?
65
+ fail ArgumentError, "Missing the required parameter 'scope' when calling AuthenticationApi.get_authorization_token"
66
+ end
67
+ # resource path
68
+ local_var_path = '/id/2.0/tokens'
69
+
70
+ # query parameters
71
+ query_params = opts[:query_params] || {}
72
+
73
+ # header parameters
74
+ header_params = opts[:header_params] || {}
75
+ # HTTP header 'Accept' (if needed)
76
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
77
+ # HTTP header 'Content-Type'
78
+ content_type = @api_client.select_header_content_type(['application/x-www-form-urlencoded'])
79
+ if !content_type.nil?
80
+ header_params['Content-Type'] = content_type
81
+ end
82
+
83
+ # form parameters
84
+ form_params = opts[:form_params] || {}
85
+ form_params['client_id'] = client_id
86
+ form_params['client_secret'] = client_secret
87
+ form_params['grant_type'] = grant_type
88
+ form_params['scope'] = scope
89
+ form_params['user_id'] = opts[:'user_id'] if !opts[:'user_id'].nil?
90
+ form_params['idp_id'] = opts[:'idp_id'] if !opts[:'idp_id'].nil?
91
+
92
+ # http body (model)
93
+ post_body = opts[:debug_body]
94
+
95
+ # return_type
96
+ return_type = opts[:debug_return_type] || 'TokenResponse'
97
+
98
+ # auth_names
99
+ auth_names = opts[:debug_auth_names] || []
100
+
101
+ new_options = opts.merge(
102
+ :operation => :"AuthenticationApi.get_authorization_token",
103
+ :header_params => header_params,
104
+ :query_params => query_params,
105
+ :form_params => form_params,
106
+ :body => post_body,
107
+ :auth_names => auth_names,
108
+ :return_type => return_type
109
+ )
110
+
111
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug "API called: AuthenticationApi#get_authorization_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
114
+ end
115
+ return data, status_code, headers
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,315 @@
1
+ =begin
2
+ #Xbim Flex Identity API 2.0
3
+
4
+ #Communication centralised around construction data
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: info@xbim.net
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module XbimIdentity
16
+ class ClientApplicationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Gets Endpointsfor the given client
23
+ # <span style='font-size: 17px;'>Summary:</span>Gets Endpointsfor the given client.<br/>Return Type: <b>ODataClientAppEndpointList</b><br/>For more information about OData responses <a href='https://www.odata.org/getting-started/understand-odata-in-6-steps/'>link</a>.<br/><br/>
24
+ # @param client_id [String] The client Id
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
27
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 100. The allowed functions are: allfunctions.
28
+ # @option opts [String] :select Limits the properties returned in the result.
29
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
30
+ # @option opts [Integer] :top Limits the number of items returned from a collection.
31
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
32
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
33
+ # @return [ODataClientAppEndpointList]
34
+ def id20_client_applications_client_id_endpoints_get(client_id, opts = {})
35
+ data, _status_code, _headers = id20_client_applications_client_id_endpoints_get_with_http_info(client_id, opts)
36
+ data
37
+ end
38
+
39
+ # Gets Endpointsfor the given client
40
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets Endpointsfor the given client.&lt;br/&gt;Return Type: &lt;b&gt;ODataClientAppEndpointList&lt;/b&gt;&lt;br/&gt;For more information about OData responses &lt;a href&#x3D;&#39;https://www.odata.org/getting-started/understand-odata-in-6-steps/&#39;&gt;link&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
41
+ # @param client_id [String] The client Id
42
+ # @param [Hash] opts the optional parameters
43
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
44
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 100. The allowed functions are: allfunctions.
45
+ # @option opts [String] :select Limits the properties returned in the result.
46
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
47
+ # @option opts [Integer] :top Limits the number of items returned from a collection.
48
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
49
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
50
+ # @return [Array<(ODataClientAppEndpointList, Integer, Hash)>] ODataClientAppEndpointList data, response status code and response headers
51
+ def id20_client_applications_client_id_endpoints_get_with_http_info(client_id, opts = {})
52
+ if @api_client.config.debugging
53
+ @api_client.config.logger.debug 'Calling API: ClientApplicationsApi.id20_client_applications_client_id_endpoints_get ...'
54
+ end
55
+ # resource path
56
+ local_var_path = '/id/2.0/ClientApplications({clientId})/Endpoints'.sub('{' + 'clientId' + '}', CGI.escape(client_id.to_s))
57
+
58
+ # query parameters
59
+ query_params = opts[:query_params] || {}
60
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
61
+ query_params[:'$filter'] = opts[:'filter'] if !opts[:'filter'].nil?
62
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
63
+ query_params[:'$orderby'] = opts[:'orderby'] if !opts[:'orderby'].nil?
64
+ query_params[:'$top'] = opts[:'top'] if !opts[:'top'].nil?
65
+ query_params[:'$skip'] = opts[:'skip'] if !opts[:'skip'].nil?
66
+ query_params[:'$count'] = opts[:'count'] if !opts[:'count'].nil?
67
+
68
+ # header parameters
69
+ header_params = opts[:header_params] || {}
70
+ # HTTP header 'Accept' (if needed)
71
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
72
+
73
+ # form parameters
74
+ form_params = opts[:form_params] || {}
75
+
76
+ # http body (model)
77
+ post_body = opts[:debug_body]
78
+
79
+ # return_type
80
+ return_type = opts[:debug_return_type] || 'ODataClientAppEndpointList'
81
+
82
+ # auth_names
83
+ auth_names = opts[:debug_auth_names] || ['oauth2']
84
+
85
+ new_options = opts.merge(
86
+ :operation => :"ClientApplicationsApi.id20_client_applications_client_id_endpoints_get",
87
+ :header_params => header_params,
88
+ :query_params => query_params,
89
+ :form_params => form_params,
90
+ :body => post_body,
91
+ :auth_names => auth_names,
92
+ :return_type => return_type
93
+ )
94
+
95
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug "API called: ClientApplicationsApi#id20_client_applications_client_id_endpoints_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
98
+ end
99
+ return data, status_code, headers
100
+ end
101
+
102
+ # Adds an Endpoints to the given client
103
+ # <span style='font-size: 17px;'>Summary:</span>Adds an Endpoints to the given client.<br/>Return Type: <b></b><br/><br/>
104
+ # @param client_id [String] The client Id
105
+ # @param [Hash] opts the optional parameters
106
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
107
+ # @option opts [String] :select Limits the properties returned in the result.
108
+ # @option opts [ClientAppEndpoint] :client_app_endpoint
109
+ # @return [nil]
110
+ def id20_client_applications_client_id_endpoints_post(client_id, opts = {})
111
+ id20_client_applications_client_id_endpoints_post_with_http_info(client_id, opts)
112
+ nil
113
+ end
114
+
115
+ # Adds an Endpoints to the given client
116
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Adds an Endpoints to the given client.&lt;br/&gt;Return Type: &lt;b&gt;&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
117
+ # @param client_id [String] The client Id
118
+ # @param [Hash] opts the optional parameters
119
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 2.
120
+ # @option opts [String] :select Limits the properties returned in the result.
121
+ # @option opts [ClientAppEndpoint] :client_app_endpoint
122
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
123
+ def id20_client_applications_client_id_endpoints_post_with_http_info(client_id, opts = {})
124
+ if @api_client.config.debugging
125
+ @api_client.config.logger.debug 'Calling API: ClientApplicationsApi.id20_client_applications_client_id_endpoints_post ...'
126
+ end
127
+ # resource path
128
+ local_var_path = '/id/2.0/ClientApplications({clientId})/Endpoints'.sub('{' + 'clientId' + '}', CGI.escape(client_id.to_s))
129
+
130
+ # query parameters
131
+ query_params = opts[:query_params] || {}
132
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
133
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
134
+
135
+ # header parameters
136
+ header_params = opts[:header_params] || {}
137
+ # HTTP header 'Content-Type'
138
+ content_type = @api_client.select_header_content_type(['application/json', 'application/xml', 'text/json', 'application/*+json'])
139
+ if !content_type.nil?
140
+ header_params['Content-Type'] = content_type
141
+ end
142
+
143
+ # form parameters
144
+ form_params = opts[:form_params] || {}
145
+
146
+ # http body (model)
147
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'client_app_endpoint'])
148
+
149
+ # return_type
150
+ return_type = opts[:debug_return_type]
151
+
152
+ # auth_names
153
+ auth_names = opts[:debug_auth_names] || ['oauth2']
154
+
155
+ new_options = opts.merge(
156
+ :operation => :"ClientApplicationsApi.id20_client_applications_client_id_endpoints_post",
157
+ :header_params => header_params,
158
+ :query_params => query_params,
159
+ :form_params => form_params,
160
+ :body => post_body,
161
+ :auth_names => auth_names,
162
+ :return_type => return_type
163
+ )
164
+
165
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
166
+ if @api_client.config.debugging
167
+ @api_client.config.logger.debug "API called: ClientApplicationsApi#id20_client_applications_client_id_endpoints_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
168
+ end
169
+ return data, status_code, headers
170
+ end
171
+
172
+ # Gets the specified Client Application by its client id
173
+ # <span style='font-size: 17px;'>Summary:</span>Gets the specified Client Application by its client id.<br/>Return Type: <b>ClientApp</b><br/><br/>
174
+ # @param client_id [String] The client Id.
175
+ # @param [Hash] opts the optional parameters
176
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
177
+ # @option opts [String] :select Limits the properties returned in the result.
178
+ # @return [ClientApp]
179
+ def id20_client_applications_client_id_get(client_id, opts = {})
180
+ data, _status_code, _headers = id20_client_applications_client_id_get_with_http_info(client_id, opts)
181
+ data
182
+ end
183
+
184
+ # Gets the specified Client Application by its client id
185
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Gets the specified Client Application by its client id.&lt;br/&gt;Return Type: &lt;b&gt;ClientApp&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;
186
+ # @param client_id [String] The client Id.
187
+ # @param [Hash] opts the optional parameters
188
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
189
+ # @option opts [String] :select Limits the properties returned in the result.
190
+ # @return [Array<(ClientApp, Integer, Hash)>] ClientApp data, response status code and response headers
191
+ def id20_client_applications_client_id_get_with_http_info(client_id, opts = {})
192
+ if @api_client.config.debugging
193
+ @api_client.config.logger.debug 'Calling API: ClientApplicationsApi.id20_client_applications_client_id_get ...'
194
+ end
195
+ # resource path
196
+ local_var_path = '/id/2.0/ClientApplications({clientId})'.sub('{' + 'clientId' + '}', CGI.escape(client_id.to_s))
197
+
198
+ # query parameters
199
+ query_params = opts[:query_params] || {}
200
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
201
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
202
+
203
+ # header parameters
204
+ header_params = opts[:header_params] || {}
205
+ # HTTP header 'Accept' (if needed)
206
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
207
+
208
+ # form parameters
209
+ form_params = opts[:form_params] || {}
210
+
211
+ # http body (model)
212
+ post_body = opts[:debug_body]
213
+
214
+ # return_type
215
+ return_type = opts[:debug_return_type] || 'ClientApp'
216
+
217
+ # auth_names
218
+ auth_names = opts[:debug_auth_names] || ['oauth2']
219
+
220
+ new_options = opts.merge(
221
+ :operation => :"ClientApplicationsApi.id20_client_applications_client_id_get",
222
+ :header_params => header_params,
223
+ :query_params => query_params,
224
+ :form_params => form_params,
225
+ :body => post_body,
226
+ :auth_names => auth_names,
227
+ :return_type => return_type
228
+ )
229
+
230
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
231
+ if @api_client.config.debugging
232
+ @api_client.config.logger.debug "API called: ClientApplicationsApi#id20_client_applications_client_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
233
+ end
234
+ return data, status_code, headers
235
+ end
236
+
237
+ # Operations to query a set of data
238
+ # <span style='font-size: 17px;'>Summary:</span>Operations to query a set of data.<br/>Queries support: $filter, $orderby, $select, $expand(including nested filters, selects and expands), $top, $skip.<br/>Return Type: <b>ODataClientAppList</b><br/>For more information about OData responses <a href='https://www.odata.org/getting-started/understand-odata-in-6-steps/'>link</a>.<br/><br/>
239
+ # @param [Hash] opts the optional parameters
240
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
241
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 1000. The allowed functions are: allfunctions.
242
+ # @option opts [String] :select Limits the properties returned in the result.
243
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
244
+ # @option opts [Integer] :top Limits the number of items returned from a collection. The maximum value is 1000.
245
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
246
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
247
+ # @return [ODataClientAppList]
248
+ def id20_client_applications_get(opts = {})
249
+ data, _status_code, _headers = id20_client_applications_get_with_http_info(opts)
250
+ data
251
+ end
252
+
253
+ # Operations to query a set of data
254
+ # &lt;span style&#x3D;&#39;font-size: 17px;&#39;&gt;Summary:&lt;/span&gt;Operations to query a set of data.&lt;br/&gt;Queries support: $filter, $orderby, $select, $expand(including nested filters, selects and expands), $top, $skip.&lt;br/&gt;Return Type: &lt;b&gt;ODataClientAppList&lt;/b&gt;&lt;br/&gt;For more information about OData responses &lt;a href&#x3D;&#39;https://www.odata.org/getting-started/understand-odata-in-6-steps/&#39;&gt;link&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
255
+ # @param [Hash] opts the optional parameters
256
+ # @option opts [String] :expand Indicates the related entities to be represented inline. The maximum depth is 5.
257
+ # @option opts [String] :filter Restricts the set of items returned. The maximum number of expressions is 1000. The allowed functions are: allfunctions.
258
+ # @option opts [String] :select Limits the properties returned in the result.
259
+ # @option opts [String] :orderby Specifies the order in which items are returned. The maximum number of expressions is 5.
260
+ # @option opts [Integer] :top Limits the number of items returned from a collection. The maximum value is 1000.
261
+ # @option opts [Integer] :skip Excludes the specified number of items of the queried collection from the result.
262
+ # @option opts [Boolean] :count Indicates whether the total count of items within a collection are returned in the result.
263
+ # @return [Array<(ODataClientAppList, Integer, Hash)>] ODataClientAppList data, response status code and response headers
264
+ def id20_client_applications_get_with_http_info(opts = {})
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug 'Calling API: ClientApplicationsApi.id20_client_applications_get ...'
267
+ end
268
+ # resource path
269
+ local_var_path = '/id/2.0/ClientApplications'
270
+
271
+ # query parameters
272
+ query_params = opts[:query_params] || {}
273
+ query_params[:'$expand'] = opts[:'expand'] if !opts[:'expand'].nil?
274
+ query_params[:'$filter'] = opts[:'filter'] if !opts[:'filter'].nil?
275
+ query_params[:'$select'] = opts[:'select'] if !opts[:'select'].nil?
276
+ query_params[:'$orderby'] = opts[:'orderby'] if !opts[:'orderby'].nil?
277
+ query_params[:'$top'] = opts[:'top'] if !opts[:'top'].nil?
278
+ query_params[:'$skip'] = opts[:'skip'] if !opts[:'skip'].nil?
279
+ query_params[:'$count'] = opts[:'count'] if !opts[:'count'].nil?
280
+
281
+ # header parameters
282
+ header_params = opts[:header_params] || {}
283
+ # HTTP header 'Accept' (if needed)
284
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
285
+
286
+ # form parameters
287
+ form_params = opts[:form_params] || {}
288
+
289
+ # http body (model)
290
+ post_body = opts[:debug_body]
291
+
292
+ # return_type
293
+ return_type = opts[:debug_return_type] || 'ODataClientAppList'
294
+
295
+ # auth_names
296
+ auth_names = opts[:debug_auth_names] || ['oauth2']
297
+
298
+ new_options = opts.merge(
299
+ :operation => :"ClientApplicationsApi.id20_client_applications_get",
300
+ :header_params => header_params,
301
+ :query_params => query_params,
302
+ :form_params => form_params,
303
+ :body => post_body,
304
+ :auth_names => auth_names,
305
+ :return_type => return_type
306
+ )
307
+
308
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
309
+ if @api_client.config.debugging
310
+ @api_client.config.logger.debug "API called: ClientApplicationsApi#id20_client_applications_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
311
+ end
312
+ return data, status_code, headers
313
+ end
314
+ end
315
+ end