UNPKG

devshare

Version:

Library to communicate with devshare development sharing platform.

91 lines (65 loc) 2.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _file2 = require('./file'); var _file3 = _interopRequireDefault(_file2); var _entity2 = require('./entity'); var _entity3 = _interopRequireDefault(_entity2); var _folder2 = require('./folder'); var _folder3 = _interopRequireDefault(_folder2); var _config = require('../../config'); var _utils = require('../../utils'); var _zipper = require('../../utils/zipper'); var _firebaser = require('../../utils/firebaser'); var _firebaser2 = _interopRequireDefault(_firebaser); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (owner, projectname) { var relativePath = [_config.paths.files, owner, projectname]; // const projectUrl = `${paths.files}/projects/${owner}/${projectname}` var methods = { firebaseUrl: function firebaseUrl() { return (0, _firebaser.createFirebaseUrl)(relativePath)(); }, firebaseRef: function firebaseRef() { return (0, _firebaser.createFirebaseRef)(relativePath)(); }, addFile: function addFile(filePath, content) { return (0, _file3.default)(relativePath, filePath).add(content); }, addFolder: function addFolder(folderPath) { return (0, _folder3.default)(relativePath, folderPath).add(); }, clone: function clone(newOwner, newName) { return (0, _firebaser.get)(relativePath)().then(function (files) { return (0, _firebaser.set)([_config.paths.files, newOwner, newName || projectname])(files).then(function () { return files; }); }); }, zip: function zip() { return (0, _zipper.zipFileSystem)({ owner: owner, name: projectname }, relativePath); }, download: function download() { return (0, _zipper.zipFileSystem)({ owner: owner, name: projectname }, relativePath); }, // TODO: Check other existing colors before returning getUserColor: function getUserColor() { return _config.highlightColors[(0, _utils.randomIntBetween)(0, _config.highlightColors.length - 1)]; } }; var subModels = { entity: function entity(entityPath) { return (0, _entity3.default)(relativePath, entityPath); }, file: function file(filePath) { return (0, _file3.default)(relativePath, filePath); }, folder: function folder(folderPath) { return (0, _folder3.default)(relativePath, folderPath); } }; return _extends({}, (0, _firebaser2.default)(relativePath, ['get', 'sync']), methods, subModels); }; module.exports = exports['default'];