UNPKG

linagora-rse

Version:
92 lines (76 loc) 2.66 kB
'use strict'; angular.module('esn.appstore') .factory('AppstoreRestangular', function(Restangular, httpConfigurer) { var restangularInstance = Restangular.withConfig(function(RestangularConfigurer) { RestangularConfigurer.setFullResponse(true); }); httpConfigurer.manageRestangular(restangularInstance, '/appstore/api'); return restangularInstance; }) .factory('disableService', function() { function disableFn(target, array) { if (!array || !array.length) { return false; } return array.some(function(element) { var targetToCompare = element.target || element; return angular.equals(targetToCompare, target); }); } return disableFn; }) .factory('applicationService', function() { function isDomainLevel(application) { return application && application.domainInjections && application.domainInjections.length !== 0; } return { isDomainLevel: isDomainLevel }; }) .factory('appstoreAPI', function(AppstoreRestangular, fileAPIService) { function get(id) { return AppstoreRestangular.one('apps', id).get(); } function list(query) { return AppstoreRestangular.all('apps').getList(query); } function create(application) { return AppstoreRestangular.all('apps').post(application); } function deploy(id, target, version) { var body = { target: target, version: version }; return AppstoreRestangular.one('apps', id).one('deploy').customPUT(body); } function updeploy() { throw new Error('Not implemented yet'); } function undeploy(id, target) { return AppstoreRestangular.one('apps', id).one('undeploy').customPUT(target); } function install(id, target) { return AppstoreRestangular.one('apps', id).one('install').customPUT(target); } function uninstall(id, target) { return AppstoreRestangular.one('apps', id).one('uninstall').customPUT(target); } function uploadAvatar(id, blob, mime) { var url = '/appstore/api/apps/' + id + '/avatar'; return fileAPIService.uploadBlob(url, blob, mime, blob.size); } function uploadArtifact(id, file, version) { var url = '/appstore/api/apps/' + id + '/artifact'; return fileAPIService.uploadFile(url, file, file.type, file.size, {version: version}); } return { create: create, list: list, get: get, deploy: deploy, updeploy: updeploy, undeploy: undeploy, install: install, uninstall: uninstall, uploadAvatar: uploadAvatar, uploadArtifact: uploadArtifact }; });