Skip to content

rapee/feathers-blob

 
 

Repository files navigation

feathers-blob

Build Status

Feathers abstract blob store service

Installation

npm install feathers-blob --save

Also install a abstract-blob-store compatible module.

API

import BlobService from 'feathers-blob'

blobService = BlobService(options)

blobService.create(body, params)

where input body is an object with key uri pointing to data URI of the blob.

returns output 'data' of the form:

{
  [this.id]: `${hash(content)}.${extension(contentType)}`,
  uri: body.uri,
  size: length(content)
}

blobService.get(id, params)

returns output data of the same form as create.

blobService.remove(id, params)

Example

import { getBase64DataURI } from 'dauria';
import AWS from 'aws-sdk';
import S3BlobStore from 's3-blob-store';
import BlobService from 'feathers-blob';

const s3 = new AWS.S3({
  accessKeyId: process.env.AWS_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
});

const blobStore = S3BlobStore({
  client: s3,
  bucket: 'feathers-blob'
});

const blobService = service({
  Model: blobStore
});

const blob = {
  uri: getBase64DataURI(new Buffer('hello world'), 'text/plain')
}

blobService.create(blob).then(function (result) {
  console.log('Stored blob with id', result.id);
}).catch(err => {
  console.error(err);
});

For a more complete example, see examples/app which can be run with npm run example.

Changelog

1.0.0

0.1.0

  • Initial release for AWS.S3 using aws-sdk

License

Copyright (c) 2016

Licensed under the MIT license.

About

Feathers service for blob storage, like S3.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%