Class: Candid::PreEncounter::MetadataSchemas::V1::Client
- Inherits:
-
Object
- Object
- Candid::PreEncounter::MetadataSchemas::V1::Client
- Defined in:
- lib/candid/pre_encounter/metadata_schemas/v_1/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Creates a new custom metadata schema.
-
#deactivate(request_options: {}, **params) ⇒ untyped
Sets a custom metadata schema as deactivated.
-
#get(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Gets a custom metadata schema by MetadataSchemaId.
-
#get_all(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchemaPage
Gets all custom metadata schemas for the organization, ordered by name.
- #initialize(client:, base_url: nil, environment: nil) ⇒ void constructor
-
#reactivate(request_options: {}, **params) ⇒ untyped
Removes the deactivated flag for a custom metadata schema.
-
#update(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Updates a custom metadata schema.
Constructor Details
#initialize(client:, base_url: nil, environment: nil) ⇒ void
13 14 15 16 17 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 13 def initialize(client:, base_url: nil, environment: nil) @client = client @base_url = base_url @environment = environment end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Creates a new custom metadata schema. Schema names must be unique within an organization.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 108 def create(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "POST", path: "/metadata-schemas/v1", body: Candid::PreEncounter::MetadataSchemas::V1::Types::MutableMetadataSchema.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema.load(response.body) else error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#deactivate(request_options: {}, **params) ⇒ untyped
Sets a custom metadata schema as deactivated. The path must contain the most recent version to prevent races.
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 183 def deactivate(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "DELETE", path: "/metadata-schemas/v1/#{params[:id]}/#{params[:version]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#get(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Gets a custom metadata schema by MetadataSchemaId.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 31 def get(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "GET", path: "/metadata-schemas/v1/#{params[:id]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema.load(response.body) else error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#get_all(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchemaPage
Gets all custom metadata schemas for the organization, ordered by name. Defaults to page size of 100.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 67 def get_all(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[limit page_token filters] query_params = {} query_params["limit"] = params[:limit] if params.key?(:limit) query_params["page_token"] = params[:page_token] if params.key?(:page_token) query_params["filters"] = params[:filters] if params.key?(:filters) params.except(*query_param_names) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "GET", path: "/metadata-schemas/v1", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchemaPage.load(response.body) else error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#reactivate(request_options: {}, **params) ⇒ untyped
Removes the deactivated flag for a custom metadata schema. The path must contain the most recent version to prevent races.
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 217 def reactivate(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "PATCH", path: "/metadata-schemas/v1/#{params[:id]}/#{params[:version]}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#update(request_options: {}, **params) ⇒ Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema
Updates a custom metadata schema. Updates are additive only: new fields may be added but existing fields may not be removed or have their type changed, and ENUM field value lists may be extended but not shrunk. The path must contain the most recent version to prevent races.
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/candid/pre_encounter/metadata_schemas/v_1/client.rb', line 146 def update(request_options: {}, **params) params = Candid::Internal::Types::Utils.normalize_keys(params) request = Candid::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:pre_encounter), method: "PUT", path: "/metadata-schemas/v1/#{params[:id]}/#{params[:version]}", body: Candid::PreEncounter::MetadataSchemas::V1::Types::MutableMetadataSchema.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Candid::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Candid::PreEncounter::MetadataSchemas::V1::Types::MetadataSchema.load(response.body) else error_class = Candid::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |