@stratumn/media-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.12.2 • Public • Published

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)

Readme

Keywords

none

Package Sidebar

Install

npm i @stratumn/media-sdk

Weekly Downloads

2

Version

1.12.2

License

Apache-2.0

Unpacked Size

53 kB

Total Files

30

Last publish

Collaborators

  • ndouchin