=begin #MoneyKit API #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) The version of the OpenAPI document: 0.1.0 Generated by: https://openapi-generator.tech OpenAPI Generator version: 7.1.0 =end require 'cgi' module MoneyKit class LinksApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # /links/{id} # Deletes this link and disables its access token.

After deletion, the link id and access token are no longer valid and cannot be used to access any data that was associated with it. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [nil] def disconnect(id, opts = {}) disconnect_with_http_info(id, opts) nil end # /links/{id} # Deletes this link and disables its access token. <p>After deletion, the link id and access token are no longer valid and cannot be used to access any data that was associated with it. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def disconnect_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.disconnect ...' 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 LinksApi.disconnect" end # resource path local_var_path = '/links/{id}'.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[:'moneykit-version'] = opts[:'moneykit_version'] if !opts[:'moneykit_version'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.disconnect", :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, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinksApi#disconnect\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /links/{id} # Fetches details about a link. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [LinkResponse] def get_link(id, opts = {}) data, _status_code, _headers = get_link_with_http_info(id, opts) data end # /links/{id} # Fetches details about a link. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [Array<(LinkResponse, Integer, Hash)>] LinkResponse data, response status code and response headers def get_link_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.get_link ...' 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 LinksApi.get_link" end # resource path local_var_path = '/links/{id}'.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[:'moneykit-version'] = opts[:'moneykit_version'] if !opts[:'moneykit_version'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'LinkResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.get_link", :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, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinksApi#get_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /users/{id}/links # Fetches all links belonging to a user. # @param id [String] The unique ID for this user. This is the same ID provided in the call to <a href=#operation/create_link_session>/link-session</a> to create any link for this user. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [GetUserLinksResponse] def get_user_links(id, opts = {}) data, _status_code, _headers = get_user_links_with_http_info(id, opts) data end # /users/{id}/links # Fetches all links belonging to a <a href=#operation/get_user_accounts>user</a>. # @param id [String] The unique ID for this user. This is the same ID provided in the call to <a href=#operation/create_link_session>/link-session</a> to create any link for this user. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [Array<(GetUserLinksResponse, Integer, Hash)>] GetUserLinksResponse data, response status code and response headers def get_user_links_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.get_user_links ...' 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 LinksApi.get_user_links" end # resource path local_var_path = '/users/{id}/links'.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[:'moneykit-version'] = opts[:'moneykit_version'] if !opts[:'moneykit_version'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'GetUserLinksResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.get_user_links", :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, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinksApi#get_user_links\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Force a \"relink required\" state on a link (Test only). # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [LinkResponse] def reset_login(id, opts = {}) data, _status_code, _headers = reset_login_with_http_info(id, opts) data end # Force a \"relink required\" state on a link (Test only). # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [Array<(LinkResponse, Integer, Hash)>] LinkResponse data, response status code and response headers def reset_login_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.reset_login ...' 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 LinksApi.reset_login" end # resource path local_var_path = '/links/{id}/reset'.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[:'moneykit-version'] = opts[:'moneykit_version'] if !opts[:'moneykit_version'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'LinkResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.reset_login", :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, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinksApi#reset_login\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /links/{id} # Updates the link configuration. # @param id [String] The unique ID for this link. # @param update_link_request [UpdateLinkRequest] # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [LinkResponse] def update_link(id, update_link_request, opts = {}) data, _status_code, _headers = update_link_with_http_info(id, update_link_request, opts) data end # /links/{id} # Updates the link configuration. # @param id [String] The unique ID for this link. # @param update_link_request [UpdateLinkRequest] # @param [Hash] opts the optional parameters # @option opts [String] :moneykit_version (default to '2023-02-18') # @return [Array<(LinkResponse, Integer, Hash)>] LinkResponse data, response status code and response headers def update_link_with_http_info(id, update_link_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.update_link ...' 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 LinksApi.update_link" end # verify the required parameter 'update_link_request' is set if @api_client.config.client_side_validation && update_link_request.nil? fail ArgumentError, "Missing the required parameter 'update_link_request' when calling LinksApi.update_link" end # resource path local_var_path = '/links/{id}'.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' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end header_params[:'moneykit-version'] = opts[:'moneykit_version'] if !opts[:'moneykit_version'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(update_link_request) # return_type return_type = opts[:debug_return_type] || 'LinkResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.update_link", :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(:PATCH, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: LinksApi#update_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end