4. File Storage
Parameters | Type |
metadata | FileMetadataReq |
file | ArrayBuffer | Buffer |
fileType | string |
Response:
- FileMetadataRes: The File metadata.
FileMetadataReq type:
interface FileMetadataReq {
name: string;
source: string;
tags?: string[];
title?: string;
description?: string;
dateCreated?: number;
lastUpdated?: number;
}
Response type:
interface FileMetadataRes {
fileId: string;
name: string;
source: string;
tags?: string[];
title?: string;
description?: string;
dateCreated: number;
lastUpdated: number;
status: FileStatus;
contentUrl?: string;
contentPublic: boolean;
permissions: FilePermissions;
}
interface FileStatus {
status: string;
size?: number;
}
interface FilePermissions {
userId: string;
contentReadable: boolean;
}
Example:
try {
const meta = {
"name": "testFileName",
"source": "applicationName",
"tags": [
"iphone",
"photo",
]
};
const file = []; // ArrayBuffer or Buffer
const result = await hat.files().uploadFile(meta, file, "image/png");
if (result.parsedBody) {
// result.parsedBody contains the File metadata.
}
} catch (error) {
// Failed to upload a file...
}
Example response:
{
"fileId": "applicationnametestfilename-5",
"name": "testFileName",
"source": "applicationName",
"dateCreated": "2020-03-04T13:13:37.041Z",
"lastUpdated": "2020-03-04T13:13:37.042Z",
"tags": [
"iphone",
"photo"
],
"status": {
"status": "New"
},
"contentUrl": "https://hubat-net-hatservice-v3ztbxc9civz-storages3bucket-m0gs7co0oyi2.s3.eu-west-1.amazonaws.com/testing.hubat.net/applicationnametestfilename-5?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190404T131337Z&X-Amz-SignedHeaders=host%3Bx-amz-server-side-encryption&X-Amz-Expires=299&X-Amz-Credential=AKIAICFRCZUZIP4PQ64A%2F20190404%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Signature=6e7b112fca980dafe9935e8c849dfdb7e4e49abb658947909ec35c12370247b2",
"contentPublic": false,
"permissions": [
{
"userId": "de35e18d-147f-4664-8de7-409abf881754",
"contentReadable": true
}
]
}
Parameters | Type |
fileId | string |
Response:
- FileMetadataRes: The File metadata.
Example:
try {
const result = await hat.files().markFileAsPublic("file-id");
if (result.parsedBody) {
// result.parsedBody contains the File metadata.
}
} catch (error) {
// Failed to mark a file as public...
}
Parameters | Type |
fileId | string |
Response:
- FileMetadataRes: The File metadata.
Example:
try {
const result = await hat.files().markFileAsPrivate("file-id");
if (result.parsedBody) {
// result.parsedBody contains the File metadata.
}
} catch (error) {
// Failed to mark a file as private...
}
Parameters | Type |
fileId | string |
Response:
- FileMetadataRes: The File metadata.
Example:
try {
const meta = {
"name": "differentFileName",
"source": "applicationName",
"tags": [
"iphone",
"photo",
"extra tag"
]
};
const result = await hat.files().updateFileParameters("file-id", meta);
if (result.parsedBody) {
// result.parsedBody contains the File metadata.
}
} catch (error) {
// Failed to update file's metadata...
}
Parameters | Type |
metadata | FileMetadataReq |
Response:
- Array: An array of File metadata.
Example:
try {
const meta = {
"name": "",
"source": "applicationName",
"tags": [
"iphone",
"photo",
]
};
const result = await hat.files().searchFiles(meta);
if (result.parsedBody) {
// result.parsedBody contains an array of File metadata.
// The result contains all the files with the tags "iphone" and "photo" with the same source.
}
} catch (error) {
// Failed to search for Files...
}
Parameters | Type |
fileId | string |
Response:
- FileMetadataRes: The File metadata.
Example:
try {
const result = await hat.files().deleteFile("file-id");
if (result.parsedBody) {
// result.parsedBody contains the File metadata.
}
} catch (error) {
// Failed to delete the File...
}
Parameters | Type |
fileId | string |
Response:
- string: The URL to the content.
Example:
const url = hat.files().getFileContentUrl("file-id");
console.log(url);
// will print:
// https://<hat-url>/api/v2.6/files/content/<file-id>>
// The file will be available in this URL.
// Note: if the file is private, will need to pass the authentication token as
// a header to access the file.
Last modified 1yr ago