Snippets

Piotr Szrajber Geospatial Portal SDK - create a public workspace

Created by Piotr Szrajber
/**
 * Create a workspace and optionally make it public
 * @param {String} config.name name of the workspace
 * @param {Boolean} config.isPublic whether to make it public
 * @param {Funcion} callback success callback
 * @param {Workspace} callback.workspace
 * @param {Function} errback error callback
 * @return {void}
 * 2016-12-23 Piotr Szrajber <piotr.szrajber@hexagongeospatial.com>
 */
function createWorkspace(config, callback, errback) {
    $GP.user.workspaces.add({
        name: config.name
    }, function(ret) {
        $GP.user.workspaces.find({
            predicate: function(obj) {
                console.log(obj);
                return obj.id === ret.workspace.id;
            }
        }, function(ret2) {
            var w = ret2.workspaces[0];
            if (!w) {
                if (typeof errback === "function")
                    errback({
                        success: false,
                        message: "Error"
                    });
                return
            };
            w.set_isPublic(config.isPublic, function(workspace) {
                console.log(workspace);
            });
        });
    }, errback);
}

// usage:
/*
createWorkspace({
    name: "Marcin",
    isPublic: true
}, function(workspace) {
    console.log(workspace);
});
*/

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.