22
src/apps.js
22
src/apps.js
@@ -3,6 +3,7 @@
|
||||
exports = module.exports = {
|
||||
canAccess,
|
||||
isOperator,
|
||||
accessLevel,
|
||||
removeInternalFields,
|
||||
removeRestrictedFields,
|
||||
|
||||
@@ -126,7 +127,6 @@ exports = module.exports = {
|
||||
_validatePortBindings: validatePortBindings,
|
||||
_validateAccessRestriction: validateAccessRestriction,
|
||||
_translatePortBindings: translatePortBindings,
|
||||
_accessLevel: accessLevel,
|
||||
_clear: clear
|
||||
};
|
||||
|
||||
@@ -439,7 +439,7 @@ function getDataDir(app, dataDir) {
|
||||
function removeInternalFields(app) {
|
||||
return _.pick(app,
|
||||
'id', 'appStoreId', 'installationState', 'error', 'runState', 'health', 'taskId',
|
||||
'location', 'domain', 'fqdn', 'mailboxName', 'mailboxDomain', 'accessLevel',
|
||||
'location', 'domain', 'fqdn', 'mailboxName', 'mailboxDomain',
|
||||
'accessRestriction', 'manifest', 'portBindings', 'iconUrl', 'memoryLimit', 'cpuShares', 'operators',
|
||||
'sso', 'debugMode', 'reverseProxyConfig', 'enableBackup', 'creationTime', 'updateTime', 'ts', 'tags',
|
||||
'label', 'alternateDomains', 'aliasDomains', 'env', 'enableAutomaticUpdate', 'dataDir', 'mounts', 'enableMailbox');
|
||||
@@ -449,7 +449,7 @@ function removeInternalFields(app) {
|
||||
function removeRestrictedFields(app) {
|
||||
return _.pick(app,
|
||||
'id', 'appStoreId', 'installationState', 'error', 'runState', 'health', 'taskId', 'accessRestriction', 'alternateDomains', 'aliasDomains', 'sso',
|
||||
'location', 'domain', 'fqdn', 'manifest', 'portBindings', 'iconUrl', 'creationTime', 'ts', 'tags', 'label', 'enableBackup', 'accessLevel');
|
||||
'location', 'domain', 'fqdn', 'manifest', 'portBindings', 'iconUrl', 'creationTime', 'ts', 'tags', 'label', 'enableBackup');
|
||||
}
|
||||
|
||||
async function getIcon(app, options) {
|
||||
@@ -778,8 +778,8 @@ async function updateWithConstraints(id, app, constraints) {
|
||||
}
|
||||
|
||||
const fields = [ ], values = [ ];
|
||||
for (let p in app) {
|
||||
if (p === 'manifest' || p === 'tags' || p === 'accessRestriction' || p === 'debugMode' || p === 'error' || p === 'reverseProxyConfig' || p === 'servicesConfig') {
|
||||
for (const p in app) {
|
||||
if (p === 'manifest' || p === 'tags' || p === 'accessRestriction' || p === 'debugMode' || p === 'error' || p === 'reverseProxyConfig' || p === 'servicesConfig' || p === 'operators') {
|
||||
fields.push(`${p}Json = ?`);
|
||||
values.push(JSON.stringify(app[p]));
|
||||
} else if (p !== 'portBindings' && p !== 'location' && p !== 'domain' && p !== 'alternateDomains' && p !== 'aliasDomains' && p !== 'env' && p !== 'mounts') {
|
||||
@@ -928,16 +928,8 @@ async function getByFqdn(fqdn) {
|
||||
async function listByUser(user) {
|
||||
assert.strictEqual(typeof user, 'object');
|
||||
|
||||
const allApps = await list();
|
||||
const result = [];
|
||||
for (const app of allApps) {
|
||||
const al = accessLevel(app, user);
|
||||
if (!al) continue;
|
||||
app.accessLevel = al;
|
||||
result.push(app);
|
||||
}
|
||||
|
||||
return result;
|
||||
const result = await list();
|
||||
return result.filter((app) => canAccess(app, user));
|
||||
}
|
||||
|
||||
async function downloadManifest(appStoreId, manifest) {
|
||||
|
||||
Reference in New Issue
Block a user