1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-05 10:39:25 +02:00
OpenSTF/res/app/components/stf/control/storage-service.js

48 lines
1 KiB
JavaScript

var Promise = require('bluebird')
module.exports = function StorageServiceFactory($http, $upload) {
var service = {}
service.storeUrl = function(type, url) {
return $http({
url: '/api/v1/s/' + type + '/download'
, method: 'POST'
, data: {
url: url
}
})
}
service.storeFile = function(type, files, options) {
var resolver = Promise.defer()
var input = options.filter ? files.filter(options.filter) : files
if (input.length) {
$upload.upload({
url: '/api/v1/s/' + type
, method: 'POST'
, file: input
})
.then(
function(value) {
resolver.resolve(value)
}
, function(err) {
resolver.reject(err)
}
, function(progressEvent) {
resolver.progress(progressEvent)
}
)
}
else {
var err = new Error('No input files')
err.code = 'no_input_files'
resolver.reject(err)
}
return resolver.promise
}
return service
}