@stratumn/media-sdk
v1.12.2
Published
SDK for media API
Downloads
7
Readme
media-sdk
SDK for the Stratumn Media API.
Build
yarn
yarn build
Usage
import { aes } from '@stratumn/js-crypto';
import Sdk from '@stratumn/media-sdk';
const file1 = 'path/to/file1';
const file2 = 'path/to/file2';
const file3 = 'path/to/file3';
const file4 = 'path/to/file4';
const client = new Sdk('http://media-url.domain.com').setToken(
'<stratumn_account_token>'
);
// We want to use a specific key to encrypt file1 and file2.
const encryptionKey = new aes.SymmetricKey();
console.log(encryptionKey);
const [{ digest: digest1 }, { digest: digest2 }] = await client.uploadFiles(
[file1, file2],
{
key: encryptionKey.export().key
}
);
// We let the SDK create a new symmetric key automatically for file3.
const { digest: digest3, key: encryptionKey3 } = await client.uploadFile(file3);
console.log(encryptionKey3);
// We upload file4 without encryption (it could be a user avatar for example).
const { digest: digest4 } = await client.uploadFile(file4, {
disableEncryption: true
});
// Retrieve the file info for a single file.
const { name, download_url } = await client.getDirectDownloadInfo(digest1);
console.log(download_url);
// Download a single file.
const fileContent = await client.downloadFile(digest1);
console.log(fileContent);
// Retrieve the file info for multiple files, optionally including the
// download_url.
const files = await client.getFileInfoByDigests([digest1, digest2], true);
console.log(files);
Release Process
We are using semantic-release
to publish the package on the NPM registry. Publishing can be triggered by "promoting" a successful build on master from Semaphore UI.
The commit message summary should follow the following format:
Tag: Message (fixes #1234)
Where Tag
is one of the following:
- Fix - for a bug fix. (patch)
- Update - for a backwards-compatible enhancement. (minor)
- New - implemented a new feature. (minor)
- Breaking - for a backwards-incompatible enhancement. (major)
The message summary should be a one-sentence description of the change. The issue number should be mentioned at the end. * The commit message should say "(fixes #1234)" at the end of the description if it closes out an existing issue (replace 1234 with the issue number). If the commit doesn't completely fix the issue, then use (refs #1234) instead of (fixes #1234).
Here are some good commit message summary examples:
Build: Update Semaphore to only test Node 0.10 (refs #734)
Fix: Semi rule incorrectly flagging extra semicolon (fixes #840)
Upgrade: Express to 13.4.2, switch to using Express comment attachment (fixes #730)