lib/ruby_lokalise_api/rest/projects.rb in ruby-lokalise-api-7.2.0 vs lib/ruby_lokalise_api/rest/projects.rb in ruby-lokalise-api-8.0.0.rc1

- old
+ new

@@ -1,62 +1,85 @@ # frozen_string_literal: true module RubyLokaliseApi module Rest module Projects - # Returns all projects available to the user authorized with the API token - # - # @see https://developers.lokalise.com/reference/list-all-projects - # @return [RubyLokaliseApi::Collection::Project<RubyLokaliseApi::Resources::Project>] - # @param params [Hash] - def projects(params = {}) - c_r RubyLokaliseApi::Collections::Project, :all, nil, params - end - # Returns a single project # # @see https://developers.lokalise.com/reference/retrieve-a-project # @return [RubyLokaliseApi::Resources::Project] - # @param project_id [String, Integer] + # @param project_id [String] def project(project_id) - c_r RubyLokaliseApi::Resources::Project, :find, project_id + params = { query: project_id } + + data = endpoint(name: 'Projects', params: params).do_get + + resource 'Project', data end - # Creates project + # Returns a collection of projects # + # @see https://developers.lokalise.com/reference/list-all-projects + # @return [RubyLokaliseApi::Collections::Projects] + # @param req_params [Hash] + def projects(req_params = {}) + name = 'Projects' + params = { req: req_params } + + data = endpoint(name: name, params: params).do_get + + collection name, data + end + + # Creates a project + # # @see https://developers.lokalise.com/reference/create-a-project # @return [RubyLokaliseApi::Resources::Project] - # @param params [Hash] - def create_project(params) - c_r RubyLokaliseApi::Resources::Project, :create, nil, params + # @param req_params [Hash] + def create_project(req_params) + params = { req: req_params } + + data = endpoint(name: 'Projects', params: params).do_post + + resource 'Project', data end - # Updates project + # Updates a project # # @see https://developers.lokalise.com/reference/update-a-project # @return [RubyLokaliseApi::Resources::Project] - # @param project_id [String, Integer] - # @param params [Hash] - def update_project(project_id, params) - c_r RubyLokaliseApi::Resources::Project, :update, project_id, params - end + # @param project_id [String] + # @param req_params [Hash] + def update_project(project_id, req_params) + params = { query: project_id, req: req_params } - # Deletes all keys and translations from the project - # - # @see https://developers.lokalise.com/reference/empty-a-project - # @return [Hash] - # @param project_id [String, Integer] - def empty_project(project_id) - c_r RubyLokaliseApi::Resources::Project, :empty, [project_id, 'empty'] + data = endpoint(name: 'Projects', params: params).do_put + + resource 'Project', data end - # Deletes the project + # Deletes a project # # @see https://developers.lokalise.com/reference/delete-a-project - # @return [Hash] - # @param project_id [String, Integer] + # @return [RubyLokaliseApi::Generics::DeletedResource] + # @param project_id [String] def destroy_project(project_id) - c_r RubyLokaliseApi::Resources::Project, :destroy, project_id + params = { query: project_id } + + data = endpoint(name: 'Projects', params: params).do_delete + + RubyLokaliseApi::Generics::DeletedResource.new data.content + end + + # Empties a project by deleting all keys and translations + # + # @see https://developers.lokalise.com/reference/empty-a-project + # @return [RubyLokaliseApi::Generics::EmptiedResource] + # @param project_id [String] + def empty_project(project_id) + data = endpoint(name: 'Projects', params: { query: [project_id, :empty] }).do_put + + RubyLokaliseApi::Generics::EmptiedResource.new data.content end end end end