File Manager
File Manager consists of methods that responsible for different functions:
getFile()
This method is called to get file from the application. It takes application and file IDs as arguments.
async gudhub.getFile(app_id, file_id)
Pass the method the application ID and the ID of the file you need.
Argument Name | Type | Description |
---|---|---|
app_id | number |
application ID where we want to get the file |
file_id | number |
unique file ID |
import GudHub from '@gudhub/core';
const AUTHKEY = "NKJHIUHknjcnkhios9w92ehds78/7T7GYfz67w2eu+dsidhfnc2364kjh322kjkcJIOHBJ";
let app_id = 23456;
let file_id = 92810029;
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let gottenFile = await gudhub.getFile(app_id, file_id);
console.log(gottenFile);
})();
It returns the file object:
{
"app_id": 26699,
"extension": "jpg",
"file_id": 885173,
"file_name": "my_picture",
"item_id": 2917052,
"last_update": 0,
"url": "https://gudhub.com/userdata/26699/885173.jpg",
}
getFiles()
This method is called for getting a list of files from current application. It takes application ID and array of file IDs as arguments.
async gudhub.getFiles(app_id, file_id)
Current method accepts two arguments:
Argument Name | Type | Description |
---|---|---|
app_id | number |
application ID where we want to get the file |
filesId | array |
array of application`s file IDs |
import GudHub from '@gudhub/core';
const AUTHKEY = "NKJHIUHknjcnkhios9w92ehds78/7T7GYfz67w2eu+dsidhfnc2364kjh322kjkcJIOHBJ";
let app_id = 23456;
let filesId = ["2343", "2354"];
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let gottenFiles = await gudhub.getFiles(app_id, filesId);
console.log(gottenFiles);
})();
It returns an array of file objects:
[{
"app_id": 26699,
"extension": "jpg",
"file_id": 885173,
"file_name": "8skovoroda",
"item_id": 2917052,
"last_update": 234455567,
"url": "https://gudhub.com/userdata/26699/885173.jpg",
},
{
"app_id": 26709,
"extension": "png",
"file_id": 885384,
"file_name": "34",
"item_id": 2917121,
"last_update": 2244555677,
"url": "https://gudhub.com/userdata/26699/885173.jpg",
}]
uploadFile()
The current method expectedly allows to upload files. It is used only to transfer files to the form.
async gudhub.uploadFile(fileData, app_id, item_id)
It accepts data of the file, application and item IDs of the destination location.
Argument Name | Type | Description |
---|---|---|
fileData | object |
contains form data of the file |
app_id | number |
contains ID of the destination application where the file will be upload |
item_id | number |
contains ID of the destination item where the file will be loaded |
import GudHub from '@gudhub/core';
const AUTHKEY = "NKJHIUHknjcnkhios9w92ehds78/7T7GYfz67w2eu+dsidhfnc2365k";
let fileData = {
lastModified: 1662377594650,
lastModifiedDate: Mon Sep 05 2022 14:33:14 GMT+0300,
name: "_72192176_thewolfofwallstreet001.jpg",
size: 33503,
type: "image/jpeg",
webkitRelativePath: ""
};
let app_id = 23445;
let item_id = 1234343;
(async ()=>{
const gudhub = new GudHub(AUTHKEY);
let uploadedFile = await gudhub.uploadFile(fileData, app_id, item_id);
console.log(uploadedFile);
})();
The method returns an object of the uploaded file.
{
"app_id": 28877,
"extension": "jpg",
"file_id": 953393,
"file_name": "alignment_just",
"item_id": 3118314,
"last_update": 0,
"url": "https://gudhub.com/userdata/28877/953393.jpg"
}
uploadFileFromString()
This is the method that allows to upload different files in base64 format to the application. It accepts object with seven properties:
async gudhub.uploadFileFromString(fileObject)
As mentioned above, the method has only one argument.
Name | Type | Description |
---|---|---|
fileObject | object |
object that contains all data of the file |
import GudHub from '@gudhub/core';
const AUTHKEY = "NKJHIUHknjcnkhios9w92ehds78/7T7GYfz67w2eu+dsidhfnc2365k";
let fileObject = {
"format":"html",
"source":"test",
"file_name":"document",
"extension":"html",
"app_id":"28818",
"item_id":"3103065",
"element_id":"679784"
}
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let uploadedFile = await gudhub.uploadFileFromString(fileObject);
let uploadedFile = await gudhub.uploadFileFromString({ "format":"html", "source":"test", "file_name":"document", "extension":"html", "app_id":"28818", "item_id":"3103065", "element_id":"679784"});
console.log(uploadedFile);
})();
In response it returns object like this:
{
"file_id": 929765,
"app_id": 26290,
"item_id": 3041132,
"file_name": "image",
"url": "https://gudhub.com/userdata/22390/323765.jpg",
"extension": "jpg",
"last_update": 0
}
source
As you already know, we pass base64 code of the file to source. Namely, in this method we use only signs after the comma.
Full Base64:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAKCAYAAACNMs+9AAAABmJLR0QA/wD/AP+gvaeTAGJWNkMEJADEIBEcbwjyEQXSFECYII=
The part that is passed to source:
iVBORw0KGgoAAAANSUhEUgAKCAYAAACNMs+9AAAABmJLR0QA/wD/AP+gvaeTAGJWNkMEJADEIBEcbwjyEQXSFECYII=
isFileExists()
The current method allows you to check the existence of a certain file. It accepts two arguments that determine the file itself and its location. Namely, they allow you to find a file in the File List.
async gudhub.fileManager.isFileExists(app_id, file_id)
This method transfers the application and file IDs
Argument Name | Type | Description |
---|---|---|
app_id | number |
contains the application ID of the file, which is checked |
file_id | number |
contains ID of the file that is checked |
import GudHub from '@gudhub/core';
const AUTHKEY = "NWfWIMActkcc2Z3p4uJ8jvKh/aF...";
let app_id = 23457;
let file_id = 33409209;
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let isFileExists = await gudhub.fileManager.isFileExists(app_id, file_id);
console.log(isFileExists);
})();
After checking if the file exists, the method returns true, if not - false.
true
updateFileFromString()
The current method is created to update the data or name of the certain file.
async gudhub.updateFileFromString(data, file_id, file_name, extension, format)
It takes as arguments the file name, ID and data, its extension and format.
Argument Name | Type | Description |
---|---|---|
data | string |
contains new data of the file that will be updated |
file_id | string |
contains ID of the file that will be updated |
file_name | string |
transmits the updated name of the file that will be updated |
extension | string |
transmits extension of the file that will be updated |
format | string |
transmits format of the file that will be updated |
import GudHub from '@gudhub/core';
const AUTHKEY = "NWfWIMActkcc2Z3p4uJ8jvKh/aF...";
let data = "Hello World!";
let file_id = "232435";
let file_name = "Document";
let extension = "html";
let format = "html";
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let updatedFile = await gudhub.updateFileFromString(data, file_id, file_name, extension, format);
console.log(updatedFile);
})();
In response, the method will return a file list object with the updated file data.
{
"app_id": 29867,
"extension": "html",
"file_id": 962605,
"file_name": "document_new",
"item_id": 3206586,
"last_update": 1663581687912,
"url": "https://gudhub.com/userdata/29867/962605.html"
}
duplicateFile()
The current method is called to create the copy of the file. It is only used on the server of the GudHub. Called when the user installs some application using Install element.
async gudhub.duplicateFile(files)
The single argument of the current method transmits an array with all updated data of the certain files.
Argument Name | Type | Description |
---|---|---|
files | array |
contains objects which consists of source of the file, namely the file ID, and IDs that determine the location where the file will be duplicated |
import GudHub from '@gudhub/core';
const AUTHKEY = "NWfWIMActkcc2Z3p4uJ8jvKh/aF...";
let files = [{
source: 23455,
destination: {
app_id: 54683,
item_id: 5323232,
element_id: 123333
}
},{
source: 23456,
destination: {
app_id: 74788,
item_id: 9434432,
element_id: 436682
}
}];
(async ()=>{
const gudhub = new GudHub(AUTHKEY);
let duplicatedFiles = await gudhub.duplicateFile(files);
console.log(duplicatedFiles);
})();
In response, the method will return an array with updated files data objects.
[{
"app_id": 54683,
"extension": "html",
"file_id": 962605,
"file_name": "document_new",
"item_id": 5323232,
"last_update": 1663581687912,
"url": "https://gudhub.com/userdata/54683/962605.html"
},{
"app_id": 74788,
"extension": "html",
"file_id": 962612,
"file_name": "document_new",
"item_id": 9434432,
"last_update": 1663581687912,
"url": "https://gudhub.com/userdata/74788/962612.html"
}]
downloadFileFromString()
As the name suggests, this method allows you to download a file from the file list of a specific application.
async gudhub.downloadFileFromString(app_id,file_id)
This method takes two IDs as arguments.
Argument Name | Type | Description |
---|---|---|
app_id | number |
contains ID of the application where the file is located |
item_id | number |
contains ID of the item where the file is located |
import GudHub from '@gudhub/core';
const AUTHKEY = "NWfWIMActkcc2Z3p4uJ8jvKh/aF...";
let app_id = 29523;
let file_id = 954407;
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let downloadedFile = await gudhub.downloadFileFromString(app_id,file_id);
console.log(downloadedFile);
})();
In response, we will receive the data of the uploaded file.
{
"data": "PK\u0003\u0004\u0014\u0000\u0006\u0000\b\u0000\u0",
"file": {
"app_id": 29867,
"extension": "docx",
"file_id": 962585,
"file_name": "document",
"item_id": 3207532,
"last_update": 0,
"url": "https://gudhub.com/userdata/29867/962585.docx"
},
"type": "file"
}
deleteFile()
Due to this method files can be deleted from the application. It takes application and file IDs as arguments.
async gudhub.deleteFile(app_id, file_id)
Two arguments are passed to the method:
Argument Name | Type | Description |
---|---|---|
app_id | number |
application ID where we want to get the file |
file_id | number |
unique file ID |
import GudHub from '@gudhub/core';
const AUTHKEY = "NKJHIUHknjcnkhios9w92ehds78/7T7GYfz67w2eu+dsidhfnc2365k";
let app_id = 23456;
let file_id = 92810029;
(async ()=>{
const gudhub = await new GudHub(AUTHKEY);
let deletedFile = await gudhub.deleteFile(app_id, file_id);
console.log(deletedFile);
})();
The object of the deleted item will be returned in response:
{
"app_id": 26699,
"extension": "png",
"file_id": 885184,
"file_name": "34",
"item_id": 2917052,
"last_update": 0,
"url": "https://gudhub.com/userdata/26699/885173.jpg",
}