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