Skip to content

Instantly share code, notes, and snippets.

@michimau
Last active December 10, 2020 12:57
Show Gist options
  • Save michimau/5b8deb6a2c98a6a9c68d4ea4c3d5b9a0 to your computer and use it in GitHub Desktop.
Save michimau/5b8deb6a2c98a6a9c68d4ea4c3d5b9a0 to your computer and use it in GitHub Desktop.
nextcloud-node-client example
require('dotenv').config();
const { v4: uuidv4 } = require('uuid');
const Client = require("nextcloud-node-client").Client;
async function shareFolder (newFolder) {
//create a .env file with content-:
//NEXTCLOUD_USERNAME=admin
//NEXTCLOUD_PASSWORD=changemeXX
//NEXTCLOUD_URL=http://localhost:8002
const client = new Client();
var newFolderHandler;
try {
newFolderHandler = await client.createFolder(newFolder);
} catch (e) {
console.log('err: ' + e);
return (e);
}
const newShare = await client.createShare({ fileSystemElement: newFolderHandler });
await client.updateShare(newShare.memento.id, { permissions: 15 });
const newNameFolder = newShare.memento.url.substring(newShare.memento.url.lastIndexOf('/') + 1);
const file = await client.getFolder("/" + newFolder);
await file.move("/" + newNameFolder);
await file.addTag("retention10Days");
return newNameFolder;
}
async function run() {
var randomFolder = uuidv4();
var nameFolder = await shareFolder(randomFolder);
}
try {
run();
} catch (e) {
console.log('err', e)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment