lib/groupdocs/user.rb in groupdocs-1.3.0 vs lib/groupdocs/user.rb in groupdocs-1.4.0

- old
+ new

@@ -57,10 +57,58 @@ end.execute! GroupDocs::User.new data.merge(json) end + # + # Generates new active user embed key. + # + # @example + # GroupDocs::User.embed_key!('test-area') + # #=> "60a06ef8f23a49cf807977f1444fbdd8" + # + # @param [String] area + # @param [Hash] access Access credentials + # @option access [String] :client_id + # @option access [String] :private_key + # @return [String] + # + def self.embed_key!(area, access = {}) + json = Api::Request.new do |request| + request[:access] = access + request[:method] = :GET + request[:path] = "/mgmt/{{client_id}}/embedkey/new/#{area}" + end.execute! + + json[:key][:guid] + end + + # + # Returns an array of storage providers. + # + # @example + # providers = GroupDocs::User.providers! + # providers.first.provider + # #=> "Dropbox" + # + # @param [Hash] access Access credentials + # @option access [String] :client_id + # @option access [String] :private_key + # @return [Array<GroupDocs::Storage::Provider>] + # + def self.providers!(access = {}) + json = Api::Request.new do |request| + request[:access] = access + request[:method] = :GET + request[:path] = '/mgmt/{{client_id}}/storages' + end.execute! + + json[:providers].map do |provider| + Storage::Provider.new(provider) + end + end + # @attr [Integer] id attr_accessor :id # @attr [String] guid attr_accessor :guid # @attr [String] nickname @@ -170,9 +218,27 @@ end.execute! json[:users].map do |user| GroupDocs::User.new(user) end + end + + # + # Returns an array of roles. + # + # @param [Hash] access Access credentials + # @option access [String] :client_id + # @option access [String] :private_key + # @return [Array] + # + def roles!(access = {}) + json = Api::Request.new do |request| + request[:access] = access + request[:method] = :GET + request[:path] = '/mgmt/{{client_id}}/roles' + end.execute! + + json[:roles] end end # User end # GroupDocs