Class: Phrase::LinkedKeysApi
- Inherits:
-
Object
- Object
- Phrase::LinkedKeysApi
- Defined in:
- lib/phrase/api/linked_keys_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#initialize(api_client = ApiClient.default) ⇒ LinkedKeysApi
constructor
A new instance of LinkedKeysApi.
-
#key_links_batch_destroy(project_id, id, opts = {}) ⇒ KeyLink
Batch unlink child keys from a parent key Removes one or more child keys from a parent key's linked-key group, or dissolves the entire group by setting unlink_parent to true.
-
#key_links_batch_destroy_with_http_info(project_id, id, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
Batch unlink child keys from a parent key Removes one or more child keys from a parent key's linked-key group, or dissolves the entire group by setting unlink_parent to true.
-
#key_links_create(project_id, id, key_links_create_parameters, opts = {}) ⇒ KeyLink
Link child keys to a parent key Designates a translation key as a parent and links one or more child keys to it.
-
#key_links_create_with_http_info(project_id, id, key_links_create_parameters, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
Link child keys to a parent key Designates a translation key as a parent and links one or more child keys to it.
-
#key_links_destroy(project_id, id, child_key_id, opts = {}) ⇒ nil
Unlink a child key from a parent key Removes a single child key from a parent key's link group.
-
#key_links_destroy_with_http_info(project_id, id, child_key_id, opts = {}) ⇒ Array<(Response, Integer, Hash)>
Unlink a child key from a parent key Removes a single child key from a parent key's link group.
-
#key_links_index(project_id, id, opts = {}) ⇒ KeyLink
List child keys of a parent key Returns the key link record for a parent key, including all child keys associated with it.
-
#key_links_index_with_http_info(project_id, id, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
List child keys of a parent key Returns the key link record for a parent key, including all child keys associated with it.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ LinkedKeysApi
Returns a new instance of LinkedKeysApi.
7 8 9 |
# File 'lib/phrase/api/linked_keys_api.rb', line 7 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
5 6 7 |
# File 'lib/phrase/api/linked_keys_api.rb', line 5 def api_client @api_client end |
Instance Method Details
#key_links_batch_destroy(project_id, id, opts = {}) ⇒ KeyLink
Batch unlink child keys from a parent key
Removes one or more child keys from a parent key's linked-key group, or dissolves the entire group by setting unlink_parent to true. Use this when you need to detach specific child keys from a shared translation source, or to fully break apart a linked-key group so each key manages its own translations independently. When child keys are unlinked, their translations are updated with a copy of the parent's current content (strategy keep_content, the default) or cleared (strategy remove_content). This operation is only available on main projects. It returns 422 when a child key in child_key_ids is not currently linked to the parent, or when a translation update fails while unlinking.
18 19 20 21 |
# File 'lib/phrase/api/linked_keys_api.rb', line 18 def key_links_batch_destroy(project_id, id, opts = {}) data, _status_code, _headers = key_links_batch_destroy_with_http_info(project_id, id, opts) data end |
#key_links_batch_destroy_with_http_info(project_id, id, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
Batch unlink child keys from a parent key Removes one or more child keys from a parent key's linked-key group, or dissolves the entire group by setting unlink_parent to true. Use this when you need to detach specific child keys from a shared translation source, or to fully break apart a linked-key group so each key manages its own translations independently. When child keys are unlinked, their translations are updated with a copy of the parent's current content (strategy keep_content, the default) or cleared (strategy remove_content). This operation is only available on main projects. It returns 422 when a child key in `child_key_ids` is not currently linked to the parent, or when a translation update fails while unlinking.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/phrase/api/linked_keys_api.rb', line 31 def key_links_batch_destroy_with_http_info(project_id, id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinkedKeysApi.key_links_batch_destroy ...' end # verify the required parameter 'project_id' is set if @api_client.config.client_side_validation && project_id.nil? fail ArgumentError, "Missing the required parameter 'project_id' when calling LinkedKeysApi.key_links_batch_destroy" end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinkedKeysApi.key_links_batch_destroy" end # resource path local_var_path = '/projects/{project_id}/keys/{id}/key_links'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(opts[:'key_links_batch_destroy_parameters']) # return_type return_type = opts[:return_type] || 'KeyLink' # auth_names auth_names = opts[:auth_names] || ['Basic', 'Token'] = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinkedKeysApi#key_links_batch_destroy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end response = ::Phrase::Response.new(data, headers) return response, status_code, headers end |
#key_links_create(project_id, id, key_links_create_parameters, opts = {}) ⇒ KeyLink
Link child keys to a parent key Designates a translation key as a parent and links one or more child keys to it. Once linked, child keys receive a special reference marker as their translation content, signalling that their translations are derived from the parent. Use this when you want to group related keys — for example, a short label and its long-form variant — so translators see them in context together. Pass an empty child_key_ids array to mark the key as a parent without linking any children yet. Both the parent key and every child key must belong to the main project; branch keys cannot participate in key links. A child key can have at most one parent at a time; attempting to link a child that already has a parent returns a 422 error with code CHILD_IS_ALREADY_LINKED. Parent and child key plurality must match — linking a plural child to a non-plural parent (or vice versa) also returns a 422.
94 95 96 97 |
# File 'lib/phrase/api/linked_keys_api.rb', line 94 def key_links_create(project_id, id, key_links_create_parameters, opts = {}) data, _status_code, _headers = key_links_create_with_http_info(project_id, id, key_links_create_parameters, opts) data end |
#key_links_create_with_http_info(project_id, id, key_links_create_parameters, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
Link child keys to a parent key Designates a translation key as a parent and links one or more child keys to it. Once linked, child keys receive a special reference marker as their translation content, signalling that their translations are derived from the parent. Use this when you want to group related keys — for example, a short label and its long-form variant — so translators see them in context together. Pass an empty child_key_ids array to mark the key as a parent without linking any children yet. Both the parent key and every child key must belong to the main project; branch keys cannot participate in key links. A child key can have at most one parent at a time; attempting to link a child that already has a parent returns a 422 error with code CHILD_IS_ALREADY_LINKED. Parent and child key plurality must match — linking a plural child to a non-plural parent (or vice versa) also returns a 422.
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/phrase/api/linked_keys_api.rb', line 107 def key_links_create_with_http_info(project_id, id, key_links_create_parameters, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinkedKeysApi.key_links_create ...' end # verify the required parameter 'project_id' is set if @api_client.config.client_side_validation && project_id.nil? fail ArgumentError, "Missing the required parameter 'project_id' when calling LinkedKeysApi.key_links_create" end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinkedKeysApi.key_links_create" end # verify the required parameter 'key_links_create_parameters' is set if @api_client.config.client_side_validation && key_links_create_parameters.nil? fail ArgumentError, "Missing the required parameter 'key_links_create_parameters' when calling LinkedKeysApi.key_links_create" end # resource path local_var_path = '/projects/{project_id}/keys/{id}/key_links'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] || @api_client.object_to_http_body(key_links_create_parameters) # return_type return_type = opts[:return_type] || 'KeyLink' # auth_names auth_names = opts[:auth_names] || ['Basic', 'Token'] = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinkedKeysApi#key_links_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end response = ::Phrase::Response.new(data, headers) return response, status_code, headers end |
#key_links_destroy(project_id, id, child_key_id, opts = {}) ⇒ nil
Unlink a child key from a parent key Removes a single child key from a parent key's link group. A link group is the relationship model that keeps child keys synchronized with a parent: while linked, a child key's translations are derived from the parent's content. When you call this endpoint, the child key leaves the group and becomes independent — its existing translations are updated with the parent's current content and then marked unverified, signalling that reviewers should confirm the content is still appropriate for the child's context. Use this endpoint when you need to detach one specific child key while keeping other children linked. To detach multiple children at once, use the batch unlink endpoint. This operation is only available on main projects. It returns 422 when the child key is not currently linked to the specified parent key, or when a translation update fails during the unlink process.
174 175 176 177 |
# File 'lib/phrase/api/linked_keys_api.rb', line 174 def key_links_destroy(project_id, id, child_key_id, opts = {}) data, _status_code, _headers = key_links_destroy_with_http_info(project_id, id, child_key_id, opts) data end |
#key_links_destroy_with_http_info(project_id, id, child_key_id, opts = {}) ⇒ Array<(Response, Integer, Hash)>
Unlink a child key from a parent key Removes a single child key from a parent key's link group. A link group is the relationship model that keeps child keys synchronized with a parent: while linked, a child key's translations are derived from the parent's content. When you call this endpoint, the child key leaves the group and becomes independent — its existing translations are updated with the parent's current content and then marked unverified, signalling that reviewers should confirm the content is still appropriate for the child's context. Use this endpoint when you need to detach one specific child key while keeping other children linked. To detach multiple children at once, use the batch unlink endpoint. This operation is only available on main projects. It returns 422 when the child key is not currently linked to the specified parent key, or when a translation update fails during the unlink process.
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 |
# File 'lib/phrase/api/linked_keys_api.rb', line 187 def key_links_destroy_with_http_info(project_id, id, child_key_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinkedKeysApi.key_links_destroy ...' end # verify the required parameter 'project_id' is set if @api_client.config.client_side_validation && project_id.nil? fail ArgumentError, "Missing the required parameter 'project_id' when calling LinkedKeysApi.key_links_destroy" end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinkedKeysApi.key_links_destroy" end # verify the required parameter 'child_key_id' is set if @api_client.config.client_side_validation && child_key_id.nil? fail ArgumentError, "Missing the required parameter 'child_key_id' when calling LinkedKeysApi.key_links_destroy" end # resource path local_var_path = '/projects/{project_id}/keys/{id}/key_links/{child_key_id}'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'child_key_id' + '}', CGI.escape(child_key_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] # return_type return_type = opts[:return_type] # auth_names auth_names = opts[:auth_names] || ['Basic', 'Token'] = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinkedKeysApi#key_links_destroy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end response = ::Phrase::Response.new(data, headers) return response, status_code, headers end |
#key_links_index(project_id, id, opts = {}) ⇒ KeyLink
List child keys of a parent key
Returns the key link record for a parent key, including all child keys associated with it. Key linking lets translation keys share translations — a child key inherits content from its designated parent. Use this endpoint to inspect which keys are linked under a given parent before unlinking them or auditing translation consistency across related keys. The key identified by id must be designated as a parent key (it must have at least one child key linked to it). Listing the links of a key that is not a parent returns 400.
251 252 253 254 |
# File 'lib/phrase/api/linked_keys_api.rb', line 251 def key_links_index(project_id, id, opts = {}) data, _status_code, _headers = key_links_index_with_http_info(project_id, id, opts) data end |
#key_links_index_with_http_info(project_id, id, opts = {}) ⇒ Array<(Response<(KeyLink)>, Integer, Hash)>
List child keys of a parent key Returns the key link record for a parent key, including all child keys associated with it. Key linking lets translation keys share translations — a child key inherits content from its designated parent. Use this endpoint to inspect which keys are linked under a given parent before unlinking them or auditing translation consistency across related keys. The key identified by `id` must be designated as a parent key (it must have at least one child key linked to it). Listing the links of a key that is not a parent returns 400.
263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 |
# File 'lib/phrase/api/linked_keys_api.rb', line 263 def key_links_index_with_http_info(project_id, id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinkedKeysApi.key_links_index ...' end # verify the required parameter 'project_id' is set if @api_client.config.client_side_validation && project_id.nil? fail ArgumentError, "Missing the required parameter 'project_id' when calling LinkedKeysApi.key_links_index" end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinkedKeysApi.key_links_index" end # resource path local_var_path = '/projects/{project_id}/keys/{id}/key_links'.sub('{' + 'project_id' + '}', CGI.escape(project_id.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) header_params[:'X-PhraseApp-OTP'] = opts[:'x_phrase_app_otp'] if !opts[:'x_phrase_app_otp'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:body] # return_type return_type = opts[:return_type] || 'KeyLink' # auth_names auth_names = opts[:auth_names] || ['Basic', 'Token'] = opts.merge( :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinkedKeysApi#key_links_index\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end response = ::Phrase::Response.new(data, headers) return response, status_code, headers end |