js-owncloud-client
v0.1.3
Published
ownCloud client library for JavaScript
Downloads
2,196
Maintainers
Readme
Use this light-weight JS library with a promise based interface for seaemless communication with your ownCloud instance. Supports both Node.JS and browser JS.
Install
$ npm install js-owncloud-client
Usage
Node.JS
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
// STUFF
}).catch(error => {
// HANDLE ERROR
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
console.log("Link is : " + shareInfo.getLink());
}).catch(error => {
// HANDLE ERROR
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
Browser
<script type="text/javascript" src="./js-owncloud-client/browser/bundle.js"></script>
<script type="text/javascript">
// var oc is global
oc.setInstance('*owncloud instance URL*');
// Login
oc.login('username', 'password').then(status => {
window.alert(status);
}).catch(error => {
window.alert(error);
});
// Share File With Link
oc.shares.shareFileWithLink('linkToYourFile').then(shareInfo => {
window.alert("Link is : " + shareInfo.getLink());
}).catch(error => {
window.alert(error);
});
// List all files
oc.files.list('/path/to/file/folder').then(files => {
console.log(files);
}).catch(error => {
console.log(error);
});
</script>
All Methods Available
General
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
----------------|------------------------------
setInstance | oc.setInstance(instance)
login | oc.login(username, password)
getConfig | oc.getConfig()
getVersion | oc.getVersion()
getCapabilities | oc.getCapabilities()
Files Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
------------------|----------------------------------------------------
list | oc.files.list(/path/to/file/folder, depth)
getFileContents | oc.files.getFileContents(path/to/file/folder)
putFileContents | oc.files.putFileContents(path/to/file, contents)
mkdir | oc.files.mkdir(path/to/folder)
createFolder | oc.files.createFolder(path/to/folder)
delete | oc.files.delete(path/to/file/folder)
fileInfo | oc.files.fileInfo(path/to/file/folder)
getFile | oc.files.getFile(remotePath, localPath)
getDirectoryAsZip | oc.files.getDirectoryAsZip(remotePath, localPath)
putFile | oc.files.putFile(remotePath, localPath)
putDirectory | oc.files.putDirectory(remotePath, localPath)
move | oc.files.move(source, target)
copy | oc.files.copy(source, target)
Apps Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
----------------|----------------------------------------
getApps | oc.apps.getApps()
getAttribute | oc.apps.getAttribute(app, key)
setAttribute | oc.apps.setAttribute(app, key, value)
deleteAttribute | oc.apps.deleteAttribute(app, key)
enableApp | oc.apps.enableApp(appName)
disableApp | oc.apps.disableApp(appName)
Group Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
----------------|---------------------------------------
createGroup | oc.groups.createGroup(groupName)
deleteGroup | oc.groups.deleteGroup(groupName)
getGroups | oc.groups.getGroups()
getGroupMembers | oc.groups.getGroupMembers(groupName)
groupExists | oc.groups.groupExists(groupName)
Share Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
--------------------|----------------------------------------------------------------------------------------------------
shareFileWithLink | oc.shares.shareFileWithLink(path, {perms: perms, publicUpload: publicUpload, password: password})
updateShare | oc.shares.updateShare(shareId, {perms: perms, publicUpload: publicUpload, password: password})
shareFileWithUser | oc.shares.shareFileWithUser(path, username, {perms: perms, remoteUser: remoteUser })
shareFileWithGroup | oc.shares.shareFileWithGroup(path, groupname, {perms: perms })
getShares | oc.shares.getShares()
isShared | oc.shares.isShared(path/to/file/folder)
getShare | oc.shares.getShare(shareId)
listOpenRemoteShare | oc.shares.listOpenRemoteShare()
acceptRemoteShare | oc.shares.acceptRemoteShare(shareId)
declineRemoteShare | oc.shares.declineRemoteShare(shareId)
deleteShare | oc.shares.deleteShare(shareId)
User Management
var owncloud = require('js-owncloud-client');
var oc = new owncloud('*owncloud instance URL*');
Method | Code
-----------------------|------------------------------------------------------
createUser | oc.users.createUser(username, password)
deleteUser | oc.users.deleteUser(username)
searchUsers | oc.users.searchUsers(searchKey)
userExists | oc.users.userExists(username)
getUsers | oc.users.getUsers()
setUserAttribute | oc.users.setUserAttribute(username, key, value)
addUserToGroup | oc.users.addUserToGroup(username, groupName)
getUserGroups | oc.users.getUserGroups(username)
userIsInGroup | oc.users.userIsInGroup(username, groupName)
getUser | oc.users.getUser(username)
removeUserFromGroup | oc.users.removeUserFromGroup(username, groupName)
addUserToSubadminGroup | oc.users.addUserToSubadminGroup(username, groupName)
getUserSubadminGroups | oc.users.getUserSubadminGroups(username)
userIsInSubadminGroup | oc.users.userIsInSubadminGroup(username, groupName)
Building the Documentation
Swagger Documentation
Stuck? Just type this to see all the above available methods live in action in your browser!
$ cd node_modules/js-owncloud-client/
$ make swagger
If you open the link showed by running the above command, you will see something like this :
Here, you can click on any method and type in values, to experiment with the methods in the browser itself! Now isn't that cool? :wink:
JSDocs
To build the jsdocs, type this command and follow the instructions on the terminal :
$ cd node_modules/js-owncloud-client/
$ make jsdocs
Unit tests
The following command will run all unit tests. Before running the command, make sure you have edited the owncloud/test/config.json
file accordingly.
$ cd node_modules/js-owncloud-client/
$ make test