make based on https://github.com/haiwen/seafile/wiki/Seafile-web-API
Add this line to your application's Gemfile:
gem 'seafile-api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install seafile-api
For tests need update tests/spec_helper.rb with your data after this run: rspec tests
require 'seafile-api'
sf = SeafileApi::Connect.new(user_name,password,host,default_repo)
sf.user_name = email
sf.password = password
sf.host = https://seafile.com
sf.repo = repo id
sf.list_accounts
sv.account_info
- password sf.create_accounts(email,pass)
-
email
-
password
sf.update_account(email,pass)
sf.del_account(email)
-
file
-
repo_id -> default value = default repo
sf.star_a_file(file,repo_id)
-
file
-
repo_id -> default value = default repo
sf.unstar_a_file(file,repo_id)
-
to email
sf.list_user_message(to_email)
Reply A User Message
sf.unread_message
-
to email
-
message
sf.reply_user_message(to_email,message)
sf.list_groups
-
group name
sf.add_group(group_name)
-
user email
-
group id
sf.add_group_member(user_email,group_id)
-
user email
-
group id
sf.del_group_member(user_email,group_id)
-
group id
sf.group_messages(group_id)
-
group id
-
message id
sf.group_message_detail(group_id,msg_id)
-
group id
-
message
-
repo id -> default value = default repo
-
path -> default value = '/'
sf.send_group_message(group_id,message,repo_id,path)
Reply A Group Message
-
group id
-
message
-
message id
sf.reply_group_message(group_id,message,msg_id)
sf.group_messages_replies
sf.list_file_share_link
-
file
-
repo_id -> default value = default repo
sf.create_file_share_link(file,repo_id=self.repo)
-
shared token
sf.delete_share_link(shared_t)
sf.list_shared_libraries
sf.list_beshared_libraries
-
repo_id
-
share_type -> default value = group
-
user
-
permission -> default value = rw
-
group_id
sf.share_library(repo_id,user,group_id,permission,share_type)
-
repo id
-
share type
-
user
-
group id
sf.unshare_library(repo_id,share_type,user,group_id)
sf.list_shared_files
-
file token
sf.shared_file_link(file_t)
-
file token
sf.shared_file_detail(file_t)
-
file token
sf.del_shared_file(file_t)
-
file token
sf.download_private_shared_file(file_t)
-
file token
sf.private_shared_file_detail(file_t)
sf.default_library
sf.create_default_library
sf.list_libraries
-
repo id
sf.library_info(repo_id)
-
repo id
sf.library_owner(repo_id)
-
repo id
sf.library_history(repo_id)
-
name
-
desc -> default value = "new repo"
-
pwd -> default value = nil
sf.create_library(name,desc="new repo",pwd=nil)
-
repo id
-
name
-
path -> default value = '/'
sf.create_sub_library(repo_id,name,p)
-
repo id
sf.del_library(repo_id)
-
name
-
password
sf.decrypt_library(repo_id,password)
-
repo id
sf.create_public_library(repo_id)
-
repo id
sf.remove_public_library(repo_id)
-
repo id
sf.fetch_library_info(repo_id)
sf.list_virtual_libraries
-
keyword
sf.search_libraries(keyword)
-
filename
-
repo -> default value = default repo
sf.file_link(filename,repo)
-
filename
-
repo -> default value = default repo
sf.file_detail(filename,repo)
-
filename
-
repo -> default value = default repo
sf.file_history(filename,repo)
-
filename
-
commit id
-
repo -> default value = default repo
sf.link_revision(filename,commit_id,repo)
-
filename
-
repo -> default value = default repo
sf.create_file(filename,repo=self.repo)
-
old name
-
new name
-
repo -> default value = default repo
sf.rename_file(old_name,new_name,repoo)
-
filename
-
destination dir -> default value = '/'
-
destination repo -> default value = default repo
-
source repo -> default value = default repo
sf.move_file(filename,dst_dir,dest_repo,src_repo)
-
filename
-
destination dir -> default value = '/'
-
destination repo -> default value = default repo
-
source repo -> default value = default repo
sf.copy_file(filename,dst_dir,dest_repo,src_repo)
-
filename
-
repo -> default value = default repo
sf.del_file(filename,repo)
-
filename
-
path -> default value = '/'
-
repo -> default value = default repo
sf.upload_file(file,path='/',repo=self.repo)
-
filename
-
target file -> default value = as filename
-
repo -> default value = default repo
sf.update_file(file,target_file,repo)
-
repo -> default value = default repo
sf.block_link(repo)
-
path -> default value = '/'
-
repo -> default value = default repo
sf.list_dir_entry(path,repo)
-
path
-
repo -> default value = default repo
sf.create_dir(path,repo)
-
path
-
repo -> default value = default repo
sf.del_dir(path,repo)
-
path
-
repo -> default value = default repo
sf.download_dir(path,repo)
-
email
-
path
-
repo -> default value = default repo
-
perm -> default value = 'r'
-
s type -> default value = 'd'
sf.share_dir(email,path,perm,repo,s_type)
- Fork it ( http://github.com/NingenUA/seafile-api/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request