mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-06-16 17:54:59 +00:00
Removed wrongly pushed files
This commit is contained in:
parent
8fb83076a4
commit
b82eafba40
@ -1,685 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
"use strict";
|
|
||||||
/*!
|
|
||||||
* @license
|
|
||||||
* Copyright 2019 Alfresco Software, Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
||||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
||||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
||||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
||||||
function step(op) {
|
|
||||||
if (f) throw new TypeError("Generator is already executing.");
|
|
||||||
while (_) try {
|
|
||||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
||||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
||||||
switch (op[0]) {
|
|
||||||
case 0: case 1: t = op; break;
|
|
||||||
case 4: _.label++; return { value: op[1], done: false };
|
|
||||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
||||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
||||||
default:
|
|
||||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
||||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
||||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
||||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
||||||
if (t[2]) _.ops.pop();
|
|
||||||
_.trys.pop(); continue;
|
|
||||||
}
|
|
||||||
op = body.call(thisArg, _);
|
|
||||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
||||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
exports.__esModule = true;
|
|
||||||
var commander_1 = require("commander");
|
|
||||||
var request = require("request");
|
|
||||||
var fs = require("fs");
|
|
||||||
var logger_1 = require("./logger");
|
|
||||||
var js_api_1 = require("@alfresco/js-api");
|
|
||||||
var ACTIVITI_CLOUD_APPS = require('./resources').ACTIVITI_CLOUD_APPS;
|
|
||||||
var alfrescoJsApiModeler;
|
|
||||||
var alfrescoJsApiDevops;
|
|
||||||
var args;
|
|
||||||
var isValid = true;
|
|
||||||
var absentApps = [];
|
|
||||||
var failingApps = [];
|
|
||||||
exports.AAE_MICROSERVICES = [
|
|
||||||
'deployment-service',
|
|
||||||
'modeling-service',
|
|
||||||
'dmn-service'
|
|
||||||
];
|
|
||||||
function healthCheck(nameService) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var url, pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts, health, reset, green, error_1;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
url = args.host + "/" + nameService + "/actuator/health";
|
|
||||||
pathParams = {};
|
|
||||||
queryParams = {};
|
|
||||||
headerParams = {};
|
|
||||||
formParams = {};
|
|
||||||
bodyParam = {};
|
|
||||||
contentTypes = ['application/json'];
|
|
||||||
accepts = ['application/json'];
|
|
||||||
_a.label = 1;
|
|
||||||
case 1:
|
|
||||||
_a.trys.push([1, 3, , 4]);
|
|
||||||
return [4 /*yield*/, alfrescoJsApiModeler.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts)];
|
|
||||||
case 2:
|
|
||||||
health = _a.sent();
|
|
||||||
if (health.status !== 'UP') {
|
|
||||||
logger_1.logger.error(nameService + " is DOWN ");
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
reset = '\x1b[0m';
|
|
||||||
green = '\x1b[32m';
|
|
||||||
logger_1.logger.info("" + green + nameService + " is UP!" + reset);
|
|
||||||
}
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 3:
|
|
||||||
error_1 = _a.sent();
|
|
||||||
logger_1.logger.error(nameService + " is not reachable error: ", error_1);
|
|
||||||
isValid = false;
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 4: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function getApplicationByStatus(status) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var url, pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts, error_2;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
url = args.host + "/deployment-service/v1/applications/";
|
|
||||||
pathParams = {};
|
|
||||||
queryParams = { status: status };
|
|
||||||
headerParams = {};
|
|
||||||
formParams = {};
|
|
||||||
bodyParam = {};
|
|
||||||
contentTypes = ['application/json'];
|
|
||||||
accepts = ['application/json'];
|
|
||||||
_a.label = 1;
|
|
||||||
case 1:
|
|
||||||
_a.trys.push([1, 3, , 4]);
|
|
||||||
return [4 /*yield*/, alfrescoJsApiDevops.login(args.devopsUsername, args.devopsPassword)];
|
|
||||||
case 2:
|
|
||||||
_a.sent();
|
|
||||||
return [2 /*return*/, alfrescoJsApiDevops.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts).on('error', function (error) {
|
|
||||||
logger_1.logger.error("Get application by status " + error + " ");
|
|
||||||
})];
|
|
||||||
case 3:
|
|
||||||
error_2 = _a.sent();
|
|
||||||
logger_1.logger.error("Get application by status " + error_2.status + " ");
|
|
||||||
isValid = false;
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 4: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function getDescriptors() {
|
|
||||||
var url = args.host + "/deployment-service/v1/descriptors";
|
|
||||||
var pathParams = {};
|
|
||||||
var queryParams = {};
|
|
||||||
var headerParams = {};
|
|
||||||
var formParams = {};
|
|
||||||
var bodyParam = {};
|
|
||||||
var contentTypes = ['application/json'];
|
|
||||||
var accepts = ['application/json'];
|
|
||||||
try {
|
|
||||||
return alfrescoJsApiDevops.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
logger_1.logger.error("Get Descriptors " + error.status + " ");
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function getProjects() {
|
|
||||||
var url = args.host + "/modeling-service/v1/projects";
|
|
||||||
var pathParams = {};
|
|
||||||
var queryParams = { maxItems: 1000 };
|
|
||||||
var headerParams = {};
|
|
||||||
var formParams = {};
|
|
||||||
var bodyParam = {};
|
|
||||||
var contentTypes = ['application/json'];
|
|
||||||
var accepts = ['application/json'];
|
|
||||||
try {
|
|
||||||
return alfrescoJsApiModeler.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
logger_1.logger.error('Get Projects' + error.status);
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function getProjectRelease(projectId) {
|
|
||||||
var url = args.host + "/modeling-service/v1/projects/" + projectId + "/releases";
|
|
||||||
var pathParams = {};
|
|
||||||
var queryParams = {};
|
|
||||||
var headerParams = {};
|
|
||||||
var formParams = {};
|
|
||||||
var bodyParam = {};
|
|
||||||
var contentTypes = ['application/json'];
|
|
||||||
var accepts = ['application/json'];
|
|
||||||
try {
|
|
||||||
return alfrescoJsApiModeler.oauth2Auth.callCustomApi(url, 'GET', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
logger_1.logger.error('Get Projects Release' + error.status);
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function releaseProject(projectId) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var url, pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts, error_3;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
url = args.host + "/modeling-service/v1/projects/" + projectId + "/releases";
|
|
||||||
pathParams = {};
|
|
||||||
queryParams = {};
|
|
||||||
headerParams = {};
|
|
||||||
formParams = {};
|
|
||||||
bodyParam = {};
|
|
||||||
contentTypes = ['application/json'];
|
|
||||||
accepts = ['application/json'];
|
|
||||||
_a.label = 1;
|
|
||||||
case 1:
|
|
||||||
_a.trys.push([1, 2, , 4]);
|
|
||||||
return [2 /*return*/, alfrescoJsApiModeler.oauth2Auth.callCustomApi(url, 'POST', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts)];
|
|
||||||
case 2:
|
|
||||||
error_3 = _a.sent();
|
|
||||||
return [4 /*yield*/, deleteProject(projectId)];
|
|
||||||
case 3:
|
|
||||||
_a.sent();
|
|
||||||
logger_1.logger.error('Post Projects Release' + error_3.status);
|
|
||||||
isValid = false;
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 4: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function deleteProject(projectId) {
|
|
||||||
var url = args.host + "/modeling-service/v1/projects/" + projectId;
|
|
||||||
var pathParams = {};
|
|
||||||
var queryParams = {};
|
|
||||||
var headerParams = {};
|
|
||||||
var formParams = {};
|
|
||||||
var bodyParam = {};
|
|
||||||
var contentTypes = ['application/json'];
|
|
||||||
var accepts = ['application/json'];
|
|
||||||
try {
|
|
||||||
return alfrescoJsApiModeler.oauth2Auth.callCustomApi(url, 'DELETE', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
logger_1.logger.error('Delete project error' + error.status);
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function importAndReleaseProject(absoluteFilePath) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var fileContent, project, release, error_4;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, fs.createReadStream(absoluteFilePath)];
|
|
||||||
case 1:
|
|
||||||
fileContent = _a.sent();
|
|
||||||
_a.label = 2;
|
|
||||||
case 2:
|
|
||||||
_a.trys.push([2, 5, , 6]);
|
|
||||||
return [4 /*yield*/, alfrescoJsApiModeler.oauth2Auth.callCustomApi(args.host + "/modeling-service/v1/projects/import", 'POST', {}, {}, {}, { file: fileContent }, {}, ['multipart/form-data'], ['application/json'])];
|
|
||||||
case 3:
|
|
||||||
project = _a.sent();
|
|
||||||
logger_1.logger.info("Project imported");
|
|
||||||
logger_1.logger.info("Create release");
|
|
||||||
return [4 /*yield*/, alfrescoJsApiModeler.oauth2Auth.callCustomApi(args.host + "/modeling-service/v1/projects/" + project.entry.id + "/releases", 'POST', {}, {}, {}, {}, {}, ['application/json'], ['application/json'])];
|
|
||||||
case 4:
|
|
||||||
release = _a.sent();
|
|
||||||
return [2 /*return*/, release];
|
|
||||||
case 5:
|
|
||||||
error_4 = _a.sent();
|
|
||||||
logger_1.logger.error("Not able to import the project/create the release " + absoluteFilePath + " with status: " + error_4);
|
|
||||||
isValid = false;
|
|
||||||
throw (error_4);
|
|
||||||
case 6: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function deleteDescriptor(name) {
|
|
||||||
var url = args.host + "/deployment-service/v1/descriptors/" + name;
|
|
||||||
var pathParams = {};
|
|
||||||
var queryParams = {};
|
|
||||||
var headerParams = {};
|
|
||||||
var formParams = {};
|
|
||||||
var bodyParam = {};
|
|
||||||
var contentTypes = ['application/json'];
|
|
||||||
var accepts = ['application/json'];
|
|
||||||
try {
|
|
||||||
return alfrescoJsApiDevops.oauth2Auth.callCustomApi(url, 'DELETE', pathParams, queryParams, headerParams, formParams, bodyParam, contentTypes, accepts);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
logger_1.logger.error('Delete descriptor' + error.status);
|
|
||||||
isValid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// function deploy(model: any) {
|
|
||||||
// const url = `${args.host}/deployment-service/v1/applications/`;
|
|
||||||
// const pathParams = {};
|
|
||||||
// const queryParams = {};
|
|
||||||
// const headerParams = {};
|
|
||||||
// const formParams = {};
|
|
||||||
// const bodyParam = model;
|
|
||||||
// const contentTypes = ['application/json'];
|
|
||||||
// const accepts = ['application/json'];
|
|
||||||
// try {
|
|
||||||
// return alfrescoJsApiDevops.oauth2Auth.callCustomApi(url, 'POST', pathParams, queryParams, headerParams, formParams, bodyParam,
|
|
||||||
// contentTypes, accepts);
|
|
||||||
// } catch (error) {
|
|
||||||
// logger.error('Deploy post' + error.status);
|
|
||||||
// isValid = false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
function initializeDefaultToken(options) {
|
|
||||||
options.tokenEndpoint = options.tokenEndpoint.replace('${clientId}', options.clientId);
|
|
||||||
return options;
|
|
||||||
}
|
|
||||||
function getAlfrescoJsApiInstance(configArgs) {
|
|
||||||
var ssoHost = configArgs.oauth;
|
|
||||||
ssoHost = ssoHost !== null && ssoHost !== void 0 ? ssoHost : configArgs.host;
|
|
||||||
var config = {
|
|
||||||
provider: 'BPM',
|
|
||||||
hostBpm: "" + configArgs.host,
|
|
||||||
authType: 'OAUTH',
|
|
||||||
oauth2: {
|
|
||||||
host: "" + ssoHost,
|
|
||||||
tokenUrl: ssoHost + "/" + configArgs.tokenEndpoint,
|
|
||||||
clientId: "" + configArgs.clientId,
|
|
||||||
scope: "" + configArgs.scope,
|
|
||||||
secret: "" + configArgs.secret,
|
|
||||||
implicitFlow: false,
|
|
||||||
silentLogin: false,
|
|
||||||
redirectUri: '/'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return new js_api_1.AlfrescoApi(config);
|
|
||||||
}
|
|
||||||
function deployMissingApps(tag) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var deployedApps, reset, green;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, getApplicationByStatus('')];
|
|
||||||
case 1:
|
|
||||||
deployedApps = _a.sent();
|
|
||||||
findMissingApps(deployedApps.list.entries);
|
|
||||||
findFailingApps(deployedApps.list.entries);
|
|
||||||
if (!(failingApps.length > 0)) return [3 /*break*/, 2];
|
|
||||||
failingApps.forEach(function (app) {
|
|
||||||
var reset = '\x1b[0m';
|
|
||||||
var bright = '\x1b[1m';
|
|
||||||
var red = '\x1b[31m';
|
|
||||||
logger_1.logger.error("" + red + bright + "ERROR: App " + app.entry.name + " down or inaccessible " + reset + red + " with status " + app.entry.status + reset);
|
|
||||||
});
|
|
||||||
process.exit(1);
|
|
||||||
return [3 /*break*/, 5];
|
|
||||||
case 2:
|
|
||||||
if (!(absentApps.length > 0)) return [3 /*break*/, 4];
|
|
||||||
logger_1.logger.warn("Missing apps: " + JSON.stringify(absentApps));
|
|
||||||
return [4 /*yield*/, checkIfAppIsReleased(absentApps, tag)];
|
|
||||||
case 3:
|
|
||||||
_a.sent();
|
|
||||||
return [3 /*break*/, 5];
|
|
||||||
case 4:
|
|
||||||
reset = '\x1b[0m';
|
|
||||||
green = '\x1b[32m';
|
|
||||||
logger_1.logger.info(green + "All the apps are correctly deployed" + reset);
|
|
||||||
_a.label = 5;
|
|
||||||
case 5: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function checkIfAppIsReleased(missingApps, tag) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var projectList, TIME, noError, _loop_1, i;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, getProjects()];
|
|
||||||
case 1:
|
|
||||||
projectList = _a.sent();
|
|
||||||
TIME = 5000;
|
|
||||||
noError = true;
|
|
||||||
_loop_1 = function (i) {
|
|
||||||
var currentAbsentApp, project, projectRelease, error_5, projectReleaseList, currentReleaseVersion_1, deployPayload;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
noError = true;
|
|
||||||
currentAbsentApp = missingApps[i];
|
|
||||||
project = projectList.list.entries.find(function (currentApp) { return currentAbsentApp.name === currentApp.entry.name; });
|
|
||||||
if (!(project === undefined)) return [3 /*break*/, 5];
|
|
||||||
logger_1.logger.warn('Missing project: Create the project for ' + currentAbsentApp.name);
|
|
||||||
_a.label = 1;
|
|
||||||
case 1:
|
|
||||||
_a.trys.push([1, 3, , 4]);
|
|
||||||
return [4 /*yield*/, importProjectAndRelease(currentAbsentApp, tag)];
|
|
||||||
case 2:
|
|
||||||
projectRelease = _a.sent();
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 3:
|
|
||||||
error_5 = _a.sent();
|
|
||||||
logger_1.logger.info("error status " + error_5.status);
|
|
||||||
if (error_5.status !== 409) {
|
|
||||||
logger_1.logger.info("Not possible to upload the project " + currentAbsentApp.name + " status : " + JSON.stringify(error_5));
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
logger_1.logger.error("Not possible to upload the project because inconsistency CS - Modelling try to delete manually the node");
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
return [3 /*break*/, 4];
|
|
||||||
case 4: return [3 /*break*/, 9];
|
|
||||||
case 5:
|
|
||||||
TIME += 5000;
|
|
||||||
logger_1.logger.info('Project ' + project.entry.name + ' found');
|
|
||||||
return [4 /*yield*/, getProjectRelease(project.entry.id)];
|
|
||||||
case 6:
|
|
||||||
projectReleaseList = _a.sent();
|
|
||||||
if (!(projectReleaseList.list.entries.length === 0)) return [3 /*break*/, 8];
|
|
||||||
logger_1.logger.warn('Project needs release');
|
|
||||||
return [4 /*yield*/, releaseProject(project)];
|
|
||||||
case 7:
|
|
||||||
projectRelease = _a.sent();
|
|
||||||
logger_1.logger.warn("Project released: " + projectRelease.id);
|
|
||||||
return [3 /*break*/, 9];
|
|
||||||
case 8:
|
|
||||||
logger_1.logger.info('Project already has release');
|
|
||||||
currentReleaseVersion_1 = -1;
|
|
||||||
projectReleaseList.list.entries.forEach(function (currentRelease) {
|
|
||||||
if (currentRelease.entry.version > currentReleaseVersion_1) {
|
|
||||||
currentReleaseVersion_1 = currentRelease.entry.version;
|
|
||||||
projectRelease = currentRelease;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
_a.label = 9;
|
|
||||||
case 9:
|
|
||||||
if (!noError) return [3 /*break*/, 12];
|
|
||||||
return [4 /*yield*/, checkDescriptorExist(currentAbsentApp.name)];
|
|
||||||
case 10:
|
|
||||||
_a.sent();
|
|
||||||
return [4 /*yield*/, sleep(TIME)];
|
|
||||||
case 11:
|
|
||||||
_a.sent();
|
|
||||||
deployPayload = {
|
|
||||||
name: currentAbsentApp.name,
|
|
||||||
releaseId: projectRelease.entry.id,
|
|
||||||
security: currentAbsentApp.security,
|
|
||||||
infrastructure: currentAbsentApp.infrastructure,
|
|
||||||
variables: currentAbsentApp.variables
|
|
||||||
};
|
|
||||||
// await deploy(deployPayload);
|
|
||||||
console.log("DEPLOY PAYLOAD ========================================");
|
|
||||||
console.log(deployPayload);
|
|
||||||
console.log(" ======================================== DEPLOY PAYLOAD END ");
|
|
||||||
_a.label = 12;
|
|
||||||
case 12: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
i = 0;
|
|
||||||
_a.label = 2;
|
|
||||||
case 2:
|
|
||||||
if (!(i < missingApps.length)) return [3 /*break*/, 5];
|
|
||||||
return [5 /*yield**/, _loop_1(i)];
|
|
||||||
case 3:
|
|
||||||
_a.sent();
|
|
||||||
_a.label = 4;
|
|
||||||
case 4:
|
|
||||||
i++;
|
|
||||||
return [3 /*break*/, 2];
|
|
||||||
case 5: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function checkDescriptorExist(name) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var descriptorList, _i, _a, descriptor;
|
|
||||||
return __generator(this, function (_b) {
|
|
||||||
switch (_b.label) {
|
|
||||||
case 0:
|
|
||||||
logger_1.logger.info("Check descriptor " + name + " exist in the list ");
|
|
||||||
return [4 /*yield*/, getDescriptors()];
|
|
||||||
case 1:
|
|
||||||
descriptorList = _b.sent();
|
|
||||||
if (!(descriptorList && descriptorList.list && descriptorList.entries)) return [3 /*break*/, 5];
|
|
||||||
_i = 0, _a = descriptorList.list.entries;
|
|
||||||
_b.label = 2;
|
|
||||||
case 2:
|
|
||||||
if (!(_i < _a.length)) return [3 /*break*/, 5];
|
|
||||||
descriptor = _a[_i];
|
|
||||||
if (!(descriptor.entry.name === name)) return [3 /*break*/, 4];
|
|
||||||
if (!(descriptor.entry.deployed === false)) return [3 /*break*/, 4];
|
|
||||||
return [4 /*yield*/, deleteDescriptor(descriptor.entry.name)];
|
|
||||||
case 3:
|
|
||||||
_b.sent();
|
|
||||||
_b.label = 4;
|
|
||||||
case 4:
|
|
||||||
_i++;
|
|
||||||
return [3 /*break*/, 2];
|
|
||||||
case 5: return [2 /*return*/, false];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function importProjectAndRelease(app, tag) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var appLocationReplaced, projectRelease;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
appLocationReplaced = app.file_location(tag);
|
|
||||||
logger_1.logger.warn('App fileLocation ' + appLocationReplaced);
|
|
||||||
return [4 /*yield*/, getFileFromRemote(appLocationReplaced, app.name)];
|
|
||||||
case 1:
|
|
||||||
_a.sent();
|
|
||||||
logger_1.logger.warn('Project imported ' + app.name);
|
|
||||||
return [4 /*yield*/, importAndReleaseProject(app.name + ".zip")];
|
|
||||||
case 2:
|
|
||||||
projectRelease = _a.sent();
|
|
||||||
return [4 /*yield*/, deleteLocalFile("" + app.name)];
|
|
||||||
case 3:
|
|
||||||
_a.sent();
|
|
||||||
return [2 /*return*/, projectRelease];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function findMissingApps(deployedApps) {
|
|
||||||
Object.keys(ACTIVITI_CLOUD_APPS).forEach(function (key) {
|
|
||||||
var isPresent = deployedApps.find(function (currentApp) { return ACTIVITI_CLOUD_APPS[key].name === currentApp.entry.name; });
|
|
||||||
if (!isPresent) {
|
|
||||||
absentApps.push(ACTIVITI_CLOUD_APPS[key]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function findFailingApps(deployedApps) {
|
|
||||||
Object.keys(ACTIVITI_CLOUD_APPS).forEach(function (key) {
|
|
||||||
var failingApp = deployedApps.filter(function (currentApp) { return ACTIVITI_CLOUD_APPS[key].name === currentApp.entry.name && 'Running' !== currentApp.entry.status; });
|
|
||||||
if ((failingApp === null || failingApp === void 0 ? void 0 : failingApp.length) > 0) {
|
|
||||||
failingApps.push.apply(failingApps, failingApp);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function getFileFromRemote(url, name) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
||||||
request(url)
|
|
||||||
.pipe(fs.createWriteStream(name + ".zip"))
|
|
||||||
.on('finish', function () {
|
|
||||||
logger_1.logger.info("The file is finished downloading.");
|
|
||||||
resolve();
|
|
||||||
})
|
|
||||||
.on('error', function (error) {
|
|
||||||
logger_1.logger.error("Not possible to download the project form remote");
|
|
||||||
reject(error);
|
|
||||||
});
|
|
||||||
})];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function deleteLocalFile(name) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
logger_1.logger.info("Deleting local file " + name + ".zip");
|
|
||||||
fs.unlinkSync(name + ".zip");
|
|
||||||
return [2 /*return*/];
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function sleep(time) {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
logger_1.logger.info("Waiting for " + time + " sec...");
|
|
||||||
return [4 /*yield*/, new Promise(function (done) { return setTimeout(done, time); })];
|
|
||||||
case 1:
|
|
||||||
_a.sent();
|
|
||||||
logger_1.logger.info("Done...");
|
|
||||||
return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function default_1() {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, main()];
|
|
||||||
case 1:
|
|
||||||
_a.sent();
|
|
||||||
return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
exports["default"] = default_1;
|
|
||||||
function main() {
|
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
|
||||||
var options, reset, green;
|
|
||||||
var _this = this;
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0:
|
|
||||||
console.log('START');
|
|
||||||
commander_1["default"]
|
|
||||||
.version('0.1.0')
|
|
||||||
.description('The following command is in charge of Initializing the activiti cloud env with the default apps' +
|
|
||||||
'adf-cli init-aae-env --host "gateway_env" --modelerUsername "modelerusername" --modelerPassword "modelerpassword" --devopsUsername "devevopsusername" --devopsPassword "devopspassword"')
|
|
||||||
.option('-h, --host [type]', 'Host gateway')
|
|
||||||
.option('--oauth [type]', 'SSO host')
|
|
||||||
.option('--clientId [type]', 'sso client')
|
|
||||||
.option('--secret [type]', 'sso secret', '')
|
|
||||||
.option('--scope [type]', 'sso scope', 'openid')
|
|
||||||
.option('--tokenEndpoint [type]', 'discovery token Endpoint', 'auth/realms/${clientId}/protocol/openid-connect/token')
|
|
||||||
.option('--modelerUsername [type]', 'username of a user with role ACTIVIT_MODELER')
|
|
||||||
.option('--modelerPassword [type]', 'modeler password')
|
|
||||||
.option('--devopsUsername [type]', 'username of a user with role ACTIVIT_DEVOPS')
|
|
||||||
.option('--devopsPassword [type]', 'devops password')
|
|
||||||
.option('--tag [type]', 'tag name of the codebase')
|
|
||||||
.parse(process.argv);
|
|
||||||
if (process.argv.includes('-h') || process.argv.includes('--help')) {
|
|
||||||
commander_1["default"].outputHelp();
|
|
||||||
return [2 /*return*/];
|
|
||||||
}
|
|
||||||
options = initializeDefaultToken(commander_1["default"].opts());
|
|
||||||
args = {
|
|
||||||
host: options.host,
|
|
||||||
clientId: options.clientId,
|
|
||||||
devopsUsername: options.devopsUsername,
|
|
||||||
devopsPassword: options.devopsPassword,
|
|
||||||
modelerUsername: options.modelerUsername,
|
|
||||||
modelerPassword: options.modelerPassword,
|
|
||||||
oauth: options.oauth,
|
|
||||||
tokenEndpoint: options.tokenEndpoint,
|
|
||||||
scope: options.scope,
|
|
||||||
secret: options.secret,
|
|
||||||
tag: options.tag
|
|
||||||
};
|
|
||||||
alfrescoJsApiModeler = getAlfrescoJsApiInstance(args);
|
|
||||||
exports.AAE_MICROSERVICES.map(function (serviceName) { return __awaiter(_this, void 0, void 0, function () {
|
|
||||||
return __generator(this, function (_a) {
|
|
||||||
switch (_a.label) {
|
|
||||||
case 0: return [4 /*yield*/, healthCheck(serviceName)];
|
|
||||||
case 1:
|
|
||||||
_a.sent();
|
|
||||||
return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}); });
|
|
||||||
return [4 /*yield*/, alfrescoJsApiModeler.login(args.modelerUsername, args.modelerPassword).then(function () {
|
|
||||||
var reset = '\x1b[0m';
|
|
||||||
var green = '\x1b[32m';
|
|
||||||
logger_1.logger.info(green + "login SSO ok" + reset);
|
|
||||||
}, function (error) {
|
|
||||||
logger_1.logger.error("login SSO error " + JSON.stringify(error) + " " + args.modelerUsername);
|
|
||||||
process.exit(1);
|
|
||||||
})];
|
|
||||||
case 1:
|
|
||||||
_a.sent();
|
|
||||||
if (!isValid) return [3 /*break*/, 4];
|
|
||||||
reset = '\x1b[0m';
|
|
||||||
green = '\x1b[32m';
|
|
||||||
logger_1.logger.info(green + "The environment is up and running " + reset);
|
|
||||||
alfrescoJsApiDevops = getAlfrescoJsApiInstance(args);
|
|
||||||
return [4 /*yield*/, alfrescoJsApiDevops.login(args.devopsUsername, args.devopsPassword).then(function () {
|
|
||||||
logger_1.logger.info('login SSO ok devopsUsername');
|
|
||||||
}, function (error) {
|
|
||||||
logger_1.logger.error("login SSO error " + JSON.stringify(error) + " " + args.devopsUsername);
|
|
||||||
process.exit(1);
|
|
||||||
})];
|
|
||||||
case 2:
|
|
||||||
_a.sent();
|
|
||||||
return [4 /*yield*/, deployMissingApps(args.tag)];
|
|
||||||
case 3:
|
|
||||||
_a.sent();
|
|
||||||
return [3 /*break*/, 5];
|
|
||||||
case 4:
|
|
||||||
logger_1.logger.error('The environment is not up');
|
|
||||||
process.exit(1);
|
|
||||||
_a.label = 5;
|
|
||||||
case 5: return [2 /*return*/];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
main();
|
|
@ -1,33 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/*!
|
|
||||||
* @license
|
|
||||||
* Copyright 2019 Alfresco Software, Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
exports.__esModule = true;
|
|
||||||
/* eslint-disable */
|
|
||||||
var log = null;
|
|
||||||
log = {
|
|
||||||
debug: console.log.bind(console),
|
|
||||||
info: console.log.bind(console),
|
|
||||||
warn: console.warn.bind(console),
|
|
||||||
error: console.error.bind(console),
|
|
||||||
fatal: function (x) {
|
|
||||||
console.error(x);
|
|
||||||
process.exit(100);
|
|
||||||
},
|
|
||||||
createChild: function () { return log; }
|
|
||||||
};
|
|
||||||
exports.logger = log;
|
|
||||||
/* eslint-enable */
|
|
@ -1,275 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
/*!
|
|
||||||
* @license
|
|
||||||
* Copyright 2019 Alfresco Software, Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
exports.__esModule = true;
|
|
||||||
/* cSpell:disable */
|
|
||||||
/* eslint-disable @typescript-eslint/naming-convention */
|
|
||||||
exports.ACTIVITI_CLOUD_APPS = {
|
|
||||||
SUB_PROCESS_APP: {
|
|
||||||
name: 'subprocessapp',
|
|
||||||
file_location: function (TAG) {
|
|
||||||
if (TAG === void 0) { TAG = 'develop'; }
|
|
||||||
return "https://github.com/Alfresco/alfresco-ng2-components/blob/" + TAG + "/e2e/resources/activiti7/subprocessapp.zip?raw=true";
|
|
||||||
},
|
|
||||||
processes: {
|
|
||||||
processchild: 'processchild',
|
|
||||||
processparent: 'processparent'
|
|
||||||
},
|
|
||||||
security: [
|
|
||||||
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
|
|
||||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser'] },
|
|
||||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser'] }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
CANDIDATE_BASE_APP: {
|
|
||||||
name: 'candidatebaseapp',
|
|
||||||
file_location: function (TAG) {
|
|
||||||
if (TAG === void 0) { TAG = 'develop'; }
|
|
||||||
return "https://github.com/Alfresco/alfresco-ng2-components/blob/" + TAG + "/e2e/resources/activiti7/candidatebaseapp.zip?raw=true";
|
|
||||||
},
|
|
||||||
processes: {
|
|
||||||
candidateUserProcess: 'candidateuserprocess',
|
|
||||||
candidateGroupProcess: 'candidategroupprocess',
|
|
||||||
anotherCandidateGroupProcess: 'anothercandidategroup',
|
|
||||||
uploadFileProcess: 'uploadfileprocess',
|
|
||||||
processwithstarteventform: 'processwithstarteventform',
|
|
||||||
processwithjsonfilemapping: 'processwithjsonfilemapping',
|
|
||||||
assigneeProcess: 'assigneeprocess',
|
|
||||||
errorStartEventProcess: {
|
|
||||||
process_name: 'errorstartevent',
|
|
||||||
error_id: 'Error_END_EVENT',
|
|
||||||
error_code: '123'
|
|
||||||
},
|
|
||||||
errorBoundaryEventProcess: {
|
|
||||||
process_name: 'errorboundaryevent',
|
|
||||||
error_id: 'Error_END_EVENT',
|
|
||||||
error_code: '567'
|
|
||||||
},
|
|
||||||
errorExclusiveGateProcess: {
|
|
||||||
process_name: 'errorexclusivegate',
|
|
||||||
error_id: 'Error_OK',
|
|
||||||
error_code: '200'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
forms: {
|
|
||||||
starteventform: 'starteventform',
|
|
||||||
formtotestvalidations: 'formtotestvalidations',
|
|
||||||
uploadfileform: 'uploadfileform',
|
|
||||||
inputform: 'inputform',
|
|
||||||
outputform: 'outputform'
|
|
||||||
},
|
|
||||||
security: [
|
|
||||||
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
|
|
||||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
|
|
||||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser', 'salesuser'] }
|
|
||||||
],
|
|
||||||
tasks: {
|
|
||||||
uploadFileTask: 'UploadFileTask',
|
|
||||||
candidateUserTask: 'candidateUserTask'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
SIMPLE_APP: {
|
|
||||||
name: 'simpleapp',
|
|
||||||
file_location: function (TAG) {
|
|
||||||
if (TAG === void 0) { TAG = 'develop'; }
|
|
||||||
return "https://github.com/Alfresco/alfresco-ng2-components/blob/" + TAG + "/e2e/resources/activiti7/simpleapp.zip?raw=true";
|
|
||||||
},
|
|
||||||
processes: {
|
|
||||||
processwithvariables: 'processwithvariables',
|
|
||||||
simpleProcess: 'simpleprocess',
|
|
||||||
dropdownrestprocess: 'dropdownrestprocess',
|
|
||||||
multilingualprocess: 'multilingualprocess',
|
|
||||||
processWithTabVisibility: 'processwithtabvisibility',
|
|
||||||
startmessageevent: 'start-message-event',
|
|
||||||
intermediatemessageevent: 'intermediate-message-event',
|
|
||||||
intboundaryevent: 'int-boundary-event',
|
|
||||||
nonintboundaryevent: 'nonint-boundary-event',
|
|
||||||
intboundarysubprocess: 'int-boundary-subprocess',
|
|
||||||
intstartmessageevent: 'int-start-message-event',
|
|
||||||
nonintstartmessageevent: 'nonint-start-message-event',
|
|
||||||
siblingtaskprocess: 'siblingtaskprocess',
|
|
||||||
startTaskVisibilityForm: 'start-task-visibility-form',
|
|
||||||
startVisibilityForm: 'start-visibility-form',
|
|
||||||
processstring: 'processstring',
|
|
||||||
processinteger: 'processinteger',
|
|
||||||
processboolean: 'processboolean',
|
|
||||||
processdate: 'processdate',
|
|
||||||
multiprocess: 'multiprocess',
|
|
||||||
terminateexclusive: 'terminate-exclusive',
|
|
||||||
terminatesubprocess: 'terminate-subprocess',
|
|
||||||
multiinstancedmnparallel: 'multiinstance-dmnparallel',
|
|
||||||
multiinstancecallactivity: 'multiinstance-callactivity',
|
|
||||||
multiinstancecollection: 'multiinstance-collection',
|
|
||||||
multiinstancecompletion: 'multiinstance-completion',
|
|
||||||
multiinstancesequential: 'multiinstance-sequential',
|
|
||||||
multiinstanceservicetask: 'multiinstance-servicetask',
|
|
||||||
multiinstanceusertask: 'multiinstance-usertask',
|
|
||||||
multiinstancedmnsequence: 'multiinstance-dmnsequence',
|
|
||||||
multiinstancemanualtask: 'multiinstance-manualtask',
|
|
||||||
multiinstancesubprocess: 'multiinstance-subprocess',
|
|
||||||
calledprocess: 'calledprocess',
|
|
||||||
booleanvisibilityprocess: 'booleanvisibilityprocess',
|
|
||||||
numbervisibilityprocess: 'numbervisibilityprocess',
|
|
||||||
processformoutcome: 'outcomebuttons',
|
|
||||||
uploadSingleMultipleFiles: 'upload-single-multiple-pro',
|
|
||||||
processDisplayRestJson: 'process-display-rest-json',
|
|
||||||
poolStartEndMessageThrow: 'pool-start-end-mess-throw',
|
|
||||||
poolStartEndMessageCatch: 'pool-start-end-mess-catch',
|
|
||||||
poolProcessCalled: 'pool-process-called',
|
|
||||||
poolProcessCalling: 'pool-process-calling',
|
|
||||||
poolNonIntBoundaryThrown: 'pool-nonint-boundary-throw',
|
|
||||||
poolNonIntBoundaryCatch: 'pool-nonint-boundary-catch',
|
|
||||||
poolIntermediateMessageThrow: 'pool-interm-message-throw',
|
|
||||||
poolIntermediateMessageCatch: 'pool-interm-message-catch',
|
|
||||||
poolInterruptingBoundarySubprocessThrow: 'pool-int-bound-subpr-throw',
|
|
||||||
poolInterruptingBoundarySubprocessCatch: 'pool-int-bound-subpr-catch',
|
|
||||||
poolInterruptingBoundaryThrow: 'pool-int-boundary-throw',
|
|
||||||
poolInterruptingBoundaryCatch: 'pool-int-boundary-catch',
|
|
||||||
outputVariablesMapping: 'output-variables-mapping'
|
|
||||||
},
|
|
||||||
forms: {
|
|
||||||
tabVisibilityFields: {
|
|
||||||
name: 'tabvisibilitywithfields'
|
|
||||||
},
|
|
||||||
tabVisibilityVars: {
|
|
||||||
name: 'tabvisibilitywithvars'
|
|
||||||
},
|
|
||||||
usertaskform: {
|
|
||||||
name: 'usertaskform'
|
|
||||||
},
|
|
||||||
dropdownform: {
|
|
||||||
name: 'dropdownform'
|
|
||||||
},
|
|
||||||
formVisibility: {
|
|
||||||
name: 'form-visibility'
|
|
||||||
},
|
|
||||||
multilingualform: {
|
|
||||||
name: 'multilingualform'
|
|
||||||
},
|
|
||||||
inputform: {
|
|
||||||
name: 'inputform'
|
|
||||||
},
|
|
||||||
outputform: {
|
|
||||||
name: 'outputform'
|
|
||||||
},
|
|
||||||
exclusiveconditionform: {
|
|
||||||
name: 'exclusive-condition-form'
|
|
||||||
},
|
|
||||||
uploadlocalfileform: {
|
|
||||||
name: 'upload-localfile-form'
|
|
||||||
},
|
|
||||||
booleanvisibility: {
|
|
||||||
name: 'booleanvisibility'
|
|
||||||
},
|
|
||||||
requirednumbervisibility: {
|
|
||||||
name: 'requirednumbervisibility'
|
|
||||||
},
|
|
||||||
mealform: {
|
|
||||||
name: 'mealform'
|
|
||||||
},
|
|
||||||
resultcollectionform: {
|
|
||||||
name: 'resultcollectionform'
|
|
||||||
},
|
|
||||||
uploadSingleMultiple: {
|
|
||||||
name: 'upload-single-multiple',
|
|
||||||
widgets: {
|
|
||||||
contentMultipleAttachFileId: 'UploadMultipleFileFromContentId'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
formWithJsonWidget: {
|
|
||||||
name: 'form-with-json-widget'
|
|
||||||
},
|
|
||||||
formWithAllWidgets: {
|
|
||||||
name: 'form-with-all-widgets'
|
|
||||||
},
|
|
||||||
poolForm: {
|
|
||||||
name: 'pool-usertaskform'
|
|
||||||
},
|
|
||||||
formWithSingleInput: {
|
|
||||||
name: 'form-with-single-input'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
tasks: {
|
|
||||||
processstring: 'inputtask',
|
|
||||||
uploadSingleMultipleFiles: 'UploadSingleMultipleFiles'
|
|
||||||
},
|
|
||||||
security: [
|
|
||||||
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
|
|
||||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
|
|
||||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'sales', 'testgroup'], users: ['hruser'] }
|
|
||||||
],
|
|
||||||
infrastructure: { connectors: function () { }, bridges: {} }
|
|
||||||
},
|
|
||||||
UAT_BE_DEFAULT_APP: {
|
|
||||||
name: 'uat-be-default-app',
|
|
||||||
file_location: function (TAG) {
|
|
||||||
if (TAG === void 0) { TAG = 'develop'; }
|
|
||||||
return "https://github.com/Alfresco/alfresco-ng2-components/blob/" + TAG + "/e2e/resources/activiti7/uat-be-default-app.zip?raw=true";
|
|
||||||
},
|
|
||||||
processes: {
|
|
||||||
'script-acs-process': 'script-acs-process'
|
|
||||||
},
|
|
||||||
security: [
|
|
||||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['processadminuser'] },
|
|
||||||
{ role: 'ACTIVITI_USER', groups: [], users: ['hruser', 'salesuser'] }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
};
|
|
||||||
exports.ACTIVITI_APPS = {
|
|
||||||
apps: [
|
|
||||||
{
|
|
||||||
name: 'e2e-Application'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
exports.ACS_DEFAULT = {
|
|
||||||
files: [
|
|
||||||
{
|
|
||||||
name: 'e2e_share_profile_pic.png',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'UPLOAD'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'e2e_share_profile_pic.jpg',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'UPLOAD'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'e2e_lock.png',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'LOCK'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'e2e_second_lock.png',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'LOCK'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'e2e_share_file.jpg',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'SHARE'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'e2e_favorite_file.jpg',
|
|
||||||
destination: '-my-',
|
|
||||||
action: 'FAVORITE'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
e2eFolder: {
|
|
||||||
name: 'e2e-test-data'
|
|
||||||
}
|
|
||||||
};
|
|
@ -203,7 +203,7 @@ export const ACTIVITI_CLOUD_APPS: any = {
|
|||||||
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
|
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
|
||||||
{ role: 'ACTIVITI_USER', groups: ['hr', 'sales', 'testgroup'], users: ['hruser'] }
|
{ role: 'ACTIVITI_USER', groups: ['hr', 'sales', 'testgroup'], users: ['hruser'] }
|
||||||
],
|
],
|
||||||
infrastructure: { connectors: { restconnector: {} }, bridges: {} }
|
infrastructure: { connectors: () => { } , bridges: {} }
|
||||||
},
|
},
|
||||||
UAT_BE_DEFAULT_APP: {
|
UAT_BE_DEFAULT_APP: {
|
||||||
name: 'uat-be-default-app',
|
name: 'uat-be-default-app',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user