Exemple #1
0
 var assetManager = function(session, type) {
     var am;
     var user = server.current(ctx.session);
     //Create asset manager depend on whether there is a loggedIn user or not.
     if (user) {
         am = rxt.asset.createUserAssetManager(ctx.session, type);
     } else {
         var carbon = require('carbon');
         var tenantAPI = require('/modules/tenant-api.js').api;
         var tenantDetails = tenantAPI.tenantContext(session);
         var tenantId = tenantDetails.urlTenantId; //carbon.server.superTenant.tenantId;
         am = rxt.asset.createAnonAssetManager(ctx.session, type, tenantId);
     }
     return am;
 };
Exemple #2
0
 api.get = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var server = require('store').server;
     var userDetails = server.current(session);
     var assetManager = null;
     var domain = options.domain || "carbon.super";
     var tenantId = carbon.server.tenantId({
         domain: domain
     });
     if (!userDetails) {
         assetManager = asset.createAnonAssetManager(session, options.type, tenantId);
     } else {
         assetManager = asset.createUserAssetManager(session, options.type);
     }
     try {
         var retrievedAsset = assetManager.get(options.id);
         if (!retrievedAsset) {
             // print(responseProcessor.buildSuccessResponse(200, 'No matching asset found by' + options.id, []));
             return null;
         } else {
             var expansionFields = (request.getParameter('fields') || '');
             if (expansionFields) {
                 options.fields = expansionFields.split(',');
                 var assets = [];
                 assets.push(retrievedAsset);
                 options.assets = assets;
                 result = fieldExpansion(options, req, res, session);
             } else {
                 result = retrievedAsset;
             }
             // print(responseProcessor.buildSuccessResponse(200, 'Request Served Sucessfully', result));
         }
     } catch (e) {
         //res.sendError(400, "No matching asset found");
         //   print(responseProcessor.buildErrorResponse(400, "No matching asset found"));
         log.error(e);
         result = null;
     }
     return result;
 };
Exemple #3
0
 api.advanceSearch = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var server = require('store').server;
     var userDetails = server.current(session);
     var assetManager = null;
     var domain = options.domain || carbon.server.superTenant.domain;
     var tenantId = carbon.server.tenantId({
         domain: domain
     });
     var rxtModule = require('rxt');
     var rxtManager = rxtModule.core.rxtManager(tenantId);
     var isGroupingEnabled = false; //Assume that grouping is disabled
     if (!userDetails) {
         assetManager = asset.createAnonAssetManager(session, options.type, tenantId);
     } else {
         assetManager = asset.createUserAssetManager(session, options.type);
     }
     var sort = (request.getParameter("sort") || '');
     var sortOrder = DEFAULT_PAGIN.sortOrder;
     if (sort) {
         var order = sort.charAt(0);
         if (order == '+' || order == ' ') {
             sortOrder = 'ASC';
             sort = sort.slice(1);
         } else if (order == '-') {
             sortOrder = 'DESC';
             sort = sort.slice(1);
         } else {
             sortOrder = DEFAULT_PAGIN.sortOrder;
         }
     }
     var sortBy = (sort || DEFAULT_PAGIN.sortBy);
     var count = (request.getParameter("count") || DEFAULT_PAGIN.count);
     var start = (request.getParameter("start") || DEFAULT_PAGIN.start);
     var paginationLimit = (request.getParameter("paginationLimit") || DEFAULT_PAGIN.paginationLimit);
     var paging = {
         'start': start,
         'count': count,
         'sortOrder': sortOrder,
         'sortBy': sortBy,
         'paginationLimit': paginationLimit
     };
     var q = (request.getParameter("q") || '');
     try {
         if (q) {
             var qString = '{' + q + '}';
             var query = validateQuery(qString);
             query = replaceCategoryQuery(query, rxtManager, options.type);
             isGroupingEnabled  = rxtManager.isGroupingEnabled(options.type);
             if(isGroupingEnabled){
                 query._group = true;
                 query.default = true;
             }
             //query = replaceNameQuery(query, rxtManager, options.type);
             var assets = assetManager.advanceSearch(query, paging); //doesnt work properly
         } else {
             var assets = assetManager.list(paging);
         }
         var expansionFields = (request.getParameter('fields') || '');
         if (expansionFields) {
             options.fields = expansionFields.split(',');
             options.assets = assets;
             result = fieldExpansion(options, req, res, session);
             //return;                    
         } else {
             result = assets;
         }
         //res = responseProcessor.buildSuccessResponse(res,200,result);
     } catch (e) {
         //res = responseProcessor.buildErrorResponse(400, "Your request is malformed");
         //print();
         result = null;
         log.error(e);
     }
     return result;
 };