Skip to content
Snippets Groups Projects
Commit 59271e71 authored by Kawtar Laariche's avatar Kawtar Laariche
Browse files

#26: add urls design studio

parent f412951f
No related branches found
No related tags found
1 merge request!15Feautres/design studio
......@@ -70,4 +70,28 @@ export const apiConfig = {
withdrawPublishRequestUrl: '/api/publish/request/withdraw/',
urlCatalogPath: '/api/catalog',
urlSiteConfig: '/api/admin/config',
//design studio urls
urlDesignStudioBase: '/dsce/dsce/',
urlDesignStudioCatalog: 'solution/getSolutions',
urlDesignStudioTypeInfo: 'artifact/fetchJsonTOSCA',
urlDesignStudioCreate: 'solution/createNewCompositeSolution',
urlDesignStudioAddNode: 'solution/addNode',
urlDesignStudioAddLink: 'solution/addLink',
urlDesignStudioSave: 'solution/saveCompositeSolution',
urlDesignStudioValidate: 'solution/validateCompositeSolution',
urlDesignStudioSetProbe: 'solution/setProbeIndicator',
urlDesignStudioRead: 'solution/readCompositeSolutionGraph',
urlDesignStudioCatFormat: 'graphene',
urlDesignStudioSolution: '',
urlDesignStudioDeleteNode: 'solution/deleteNode',
urlDesignStudioDeleteLink: 'solution/deleteLink',
urlDesignStudioCloseCompositeSolution: 'solution/closeCompositeSolution ',
urlDesignStudioModifyNode: 'solution/modifyNode',
urlDesignStudioModifyLink: 'solution/modifyLink',
urlDesignStudioDeleteCompositeSolution: 'solution/deleteCompositeSolution',
urlDesignStudioClearCompositeSolution: 'solution/clearCompositeSolution',
urlDesignStudioGetCompositeSolutions: 'solution/getCompositeSolutions',
urlDesignStudioProtobuf: 'artifact/fetchProtoBufJSON',
urlDesignStudioGetMatchingModels: 'solution/getMatchingModels',
urlDesignStudioVersion: 'admin/getVersion',
};
import { Injectable } from '@angular/core';
import { HttpSharedService } from '../http-shared/http-shared.service';
import { HttpClient } from '@angular/common/http';
import { apiConfig } from '../config';
import { UrlBuildService } from './url-build.service';
import {
catchError,
firstValueFrom,
map,
Observable,
tap,
throwError,
} from 'rxjs';
import { BrowserStorageService } from './storage/browser-storage.service';
@Injectable({
providedIn: 'root',
})
export class DesignStudioService {
userId$: Observable<string | undefined>;
userId!: string;
constructor(
private readonly _httpSharedService: HttpSharedService,
private urlBuildService: UrlBuildService,
private http: HttpClient,
private browserStorageService: BrowserStorageService,
) {
this.userId$ = this.browserStorageService.getUserDetails().pipe(
map((details) => {
console.log({ details });
this.userId = details?.userId || '';
return details?.userId;
}),
);
}
getSiteConfig() {
return new Promise((resolve, reject) => {
try {
const response = {
status: null,
status_code: 0,
response_detail: 'SiteConfiguration fetched Successfully',
response_code: null,
response_body: {
created: '2021-09-15T20:11:30Z',
modified: '2023-11-06T21:36:24Z',
configKey: 'site_config',
configValue:
'{"fields":[{"type":"text","name":"siteInstanceName","label":"Site Instance Name","required":"true","data":"Graphene Dev02"},{"type":"heading","name":"ConnectionConfig","label":"Connection Configuration","required":"true","subFields":[{"type":"text","name":"socketTimeout","label":"Socket Timeout","required":"true","data":"300"},{"type":"text","name":"connectionTimeout","label":"Connection Timeout","required":"true","data":"10"}]},{"type":"select","name":"enableOnBoarding","label":"Enable On-Boarding","options":[{"name":"Enabled"},{"name":"Disabled"}],"required":true,"data":{"name":"Enabled"}},{"type":"select","name":"EnableDCAE","label":"Enable DCAE","options":[{"name":"Enabled"},{"name":"Disabled"}],"required":true,"data":{"name":"Disabled"}}]}',
userId: '12345678-abcd-90ab-cdef-1234567890ab',
},
content: null,
error_code: '100',
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getVersion() {
return new Promise((resolve, reject) => {
try {
const response = 3.1;
resolve(response);
} catch (error) {
reject(error);
}
});
}
getCloudEnabled() {
return new Promise((resolve, reject) => {
try {
const response = {
status: true,
status_code: 200,
response_detail: 'Success',
response_code: null,
response_body:
'[ { "cloudEnabled": "true", "cloudName": "azure", "cloudDisplayText": "Microsoft Azure", "imageUrl": "/images/deploy-cloud/microsoft_azure.png" }, { "cloudEnabled": "false", "cloudName": "gcp", "cloudDisplayText": "Google Cloud Platform", "imageUrl": "/images/deploy-cloud/google_cloud_platform.png" }, { "cloudEnabled": "true", "cloudName": "deploylocal", "cloudDisplayText": "Deploy To Local", "imageUrl": "/images/deploy-cloud/deploy_to_local.png" }, { "cloudEnabled": "false", "cloudName": "whitebox", "cloudDisplayText": "Deploy To White Box", "imageUrl": "/images/deploy-cloud/deploy_to_whitebox.png" }]',
content: null,
error_code: null,
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getModeltype() {
return new Promise((resolve, reject) => {
try {
const response = {
status: null,
status_code: 0,
response_detail: 'ML Solutions Categories fetched Successfully',
response_code: null,
response_body: [
{
code: 'DS',
name: 'Data Sources',
},
{
code: 'DN',
name: 'Deep Neural Network',
},
{
code: 'SY',
name: 'Symbolic',
},
{
code: 'UT',
name: 'Utility',
},
{
code: 'LL',
name: 'LLM',
},
{
code: 'GA',
name: 'GenAI',
},
{
code: 'CL',
name: 'Classification',
},
{
code: 'DT',
name: 'Data Transformer',
},
{
code: 'PR',
name: 'Prediction',
},
{
code: 'RG',
name: 'Regression',
},
],
content: null,
error_code: '100',
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getToolkitType() {
return new Promise((resolve, reject) => {
try {
const response = {
status: null,
status_code: 0,
response_detail: 'ML Solutions Categories fetched Successfully',
response_code: null,
response_body: [
{
code: 'CP',
name: 'Composite Solution',
},
{
code: 'MN',
name: 'Model Node',
},
{
code: 'SF',
name: 'Shared Folder',
},
{
code: 'DB',
name: 'Database',
},
{
code: 'ME',
name: 'Metrics',
},
{
code: 'BR',
name: 'Data Broker',
},
{
code: 'CC',
name: 'C/C++',
},
{
code: 'CO',
name: 'Collator',
},
{
code: 'DA',
name: 'Data Source',
},
{
code: 'DS',
name: 'Design Studio',
},
{
code: 'H2',
name: 'H2O',
},
{
code: 'IN',
name: 'Initializer',
},
{
code: 'JS',
name: 'Java Spark',
},
{
code: 'ON',
name: 'ONAP',
},
{
code: 'OR',
name: 'Orchestrator',
},
{
code: 'OX',
name: 'ONNX',
},
{
code: 'PB',
name: 'Probe',
},
{
code: 'PF',
name: 'PFA',
},
{
code: 'RC',
name: 'R',
},
{
code: 'SK',
name: 'Scikit-Learn',
},
{
code: 'SP',
name: 'Splitter',
},
{
code: 'TC',
name: 'Training Client',
},
{
code: 'TF',
name: 'TensorFlow',
},
],
content: null,
error_code: '100',
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getAccessType() {
return new Promise((resolve, reject) => {
try {
const response = {
status: null,
status_code: 0,
response_detail: 'ML Solutions Access type fetched Successfully',
response_code: null,
response_body: [
{
code: 'PB',
name: 'Public',
},
{
code: 'RS',
name: 'Restricted',
},
],
content: null,
error_code: '100',
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getCatalog() {
return new Promise((resolve, reject) => {
try {
const response = {
items: [
{
solutionId: '070ae960-c96e-458f-a237-6b90eca12169',
solutionRevisionId: 'c27acab6-9da4-41b1-b4a6-3b2b346d6dfe',
solutionName: 'ai4iot-data-source',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Tiago Veiga',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-07-30-18-38-28-000',
duplicateSolution: false,
},
{
solutionId: '08771a9e-e973-4298-bb77-8583b333adf0',
solutionRevisionId: '71b24b5d-f516-4f7a-9198-5da4efc1d22a',
solutionName: 'ai4iot-visualization',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Tiago Veiga',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-07-30-18-45-38-000',
duplicateSolution: false,
},
{
solutionId: '1c456769-55e7-479a-aa97-13906642e30a',
solutionRevisionId: '42f15921-d265-4922-8632-cc3907ce8c2a',
solutionName: 'i-nergy-load-forecasting',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider:
'Institute of Communication and Computer Systems. I NERGY',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-07-30-18-29-18-000',
duplicateSolution: false,
},
{
solutionId: '21dc8806-d59b-4370-96cb-4f189c0346ce',
solutionRevisionId: '6112fcbd-f61a-4ff2-9add-db4051a06115',
solutionName: 'trainer-model',
version: '1.0.0',
onBoarder: 'Swetha Lakshmana Murthy',
author: 'Swetha Lakshmana Murthy',
provider: 'Swetha Lakshmana Murthy',
toolKit: 'TF',
category: 'CL',
createdDate: '2023-07-21-14-48-58-000',
duplicateSolution: false,
},
{
solutionId: '240bca8d-d223-4e0a-bb9c-5285c47ccf81',
solutionRevisionId: 'd288ef00-3827-457d-a534-e8e5d5728713',
solutionName: 'SharedFolderProvider',
version: '1.0.0',
onBoarder: 'Acumos Admin',
author: 'Acumos Admin',
provider: 'Fraunhofer IAIS',
toolKit: 'SF',
category: 'DT',
createdDate: '2021-09-16-15-39-38-000',
duplicateSolution: false,
},
{
solutionId: '246833a2-4057-4e07-bea6-5119c68d5e91',
solutionRevisionId: '2b5a145a-ee9d-4471-b626-396654e87fd7',
solutionName: 'aspsolver-clingo-oneshot',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-12-21-26-18-000',
duplicateSolution: false,
},
{
solutionId: '2ebf4bdd-f4f1-4350-8f36-ea4ecf596fce',
solutionRevisionId: '387bc7a5-c16e-4dd6-a26f-9970a86d7721',
solutionName: 'sentimentanalysisdatabroker',
version: '1.0.0',
onBoarder: 'Chaitali P',
author: 'Chaitali P',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'PR',
createdDate: '2021-09-17-13-22-32-000',
duplicateSolution: false,
},
{
solutionId: '2f9fac17-f401-4b8e-839f-068001a3c2c2',
solutionRevisionId: '3f4f110e-9874-41d9-ae91-a6a376e9d547',
solutionName: 'NewsDatabroker',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'DS',
createdDate: '2021-09-24-07-49-23-000',
duplicateSolution: false,
},
{
solutionId: '307981d2-3121-44cc-b5d5-81d775a0cff1',
solutionRevisionId: '4a78e09b-57ab-46d5-bd75-c9de42c3bed8',
solutionName: 'NewsClassifier',
version: '1.0.0',
onBoarder: 'Swetha Lakshmana Murthy',
author: 'Swetha Lakshmana Murthy',
provider: 'Swetha Lakshmana Murthy',
toolKit: 'TF',
category: 'CL',
createdDate: '2023-07-21-14-35-02-000',
duplicateSolution: false,
},
{
solutionId: '3553c4cf-046d-422c-9103-3a25b31b6de6',
solutionRevisionId: 'e47b8783-d691-4d82-9eb5-280b63cb8c25',
solutionName: 'ai4eu-cuh-medaplus',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'MedaPlus AI for healthcare',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-08-05-15-48-13-000',
duplicateSolution: false,
},
{
solutionId: '3f8727c5-154c-4ae5-a901-7487bfab530b',
solutionRevisionId: '4d796cd4-860a-4f18-8098-2969aefddcc2',
solutionName: 'sudoku-tutorial-gui-stream',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-07-13-08-24-49-000',
duplicateSolution: false,
},
{
solutionId: '40c5f2ba-5cd3-4d02-abd0-bce2bbedc036',
solutionRevisionId: 'bea7f9cf-0b51-430c-b554-2e8c7dfe65d4',
solutionName: 'WorkerCard-Preprocessing',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Kenzo Milleville',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-07-19-07-56-45-000',
duplicateSolution: false,
},
{
solutionId: '41102815-3c0c-466e-bb2b-46294073802d',
solutionRevisionId: 'cdf2b916-8308-4ab3-9590-2b7dd6e72bb0',
solutionName: 'LionForests',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Ioannis Mollas',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-07-19-08-59-53-000',
duplicateSolution: false,
},
{
solutionId: '4198b30c-ccdd-461f-97bb-c4fb8842109a',
solutionRevisionId: 'e54f37f3-dac0-4604-8a5e-e2b7dc0b6544',
solutionName: 'ML-Assistant-for-Vibration-Monitoring',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Viking Analytics AB',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-04-13-28-23-000',
duplicateSolution: false,
},
{
solutionId: '440a3fcb-5a20-4800-a829-14bf2531ee0f',
solutionRevisionId: '0c0ac284-955d-446d-9b2b-ff7d46387a6a',
solutionName: 'recognaizepreprocessing',
version: '1.0.1',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
toolKit: 'TF',
category: 'DT',
createdDate: '2022-01-05-07-30-26-000',
duplicateSolution: false,
},
{
solutionId: '440a3fcb-5a20-4800-a829-14bf2531ee0f',
solutionRevisionId: '2036bbcc-4999-4ec8-a7fe-b64c2aec7724',
solutionName: 'recognaizepreprocessing',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'DT',
createdDate: '2021-09-17-12-11-49-000',
duplicateSolution: false,
},
{
solutionId: '47c1e48e-45e5-40f2-8354-578bfc044176',
solutionRevisionId: '46bb648e-c1fd-49c6-a92e-4629d375be7d',
solutionName: 'IoTxKG',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Sebastian Heil',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-04-07-57-09-000',
duplicateSolution: false,
},
{
solutionId: '4a1b544e-7308-419c-af11-ba4630b7b33e',
solutionRevisionId: 'bfdde331-a136-4b2d-b13b-03b07d786742',
solutionName: 'innerpageanalysis',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Ehsan Darestani Farahani',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-13-12-33-52-000',
duplicateSolution: false,
},
{
solutionId: '4cf2148e-571f-486c-a87d-18bd8653a5c9',
solutionRevisionId: '718e1b3f-d5c5-4911-834e-d7476436d462',
solutionName: 'recognaizeocr',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'DT',
createdDate: '2021-09-17-12-13-48-000',
duplicateSolution: false,
},
{
solutionId: '5d836235-b448-433b-ab2a-8f9db466104a',
solutionRevisionId: '2825c9e9-e5d9-48dd-ab0e-c9f0a33afc97',
solutionName: 'ai4industry-skillmatcher-dummy',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-08-04-10-37-04-000',
duplicateSolution: false,
},
{
solutionId: '5e627e44-8cf3-4793-b2a5-f63c94024b88',
solutionRevisionId: 'd1358a4a-636f-4944-bd80-392cf0054241',
solutionName: 'YoloV5',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'PhysicalAI',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-08-05-15-03-49-000',
duplicateSolution: false,
},
{
solutionId: '60957699-97b0-4e19-987b-b5efcd81e283',
solutionRevisionId: 'a3608dd9-22db-431f-8e1c-9bef556751e6',
solutionName: 'AI4Agri-qualitypredictor',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Sergio Salmeron',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-07-30-18-59-12-000',
duplicateSolution: false,
},
{
solutionId: '6153f0c7-89c8-40b4-b731-ec84ba2c446f',
solutionRevisionId: '017baf91-4d19-4b46-ac6f-c095db1aa7f7',
solutionName: 'hppmodel',
version: '1.0.0',
onBoarder: 'Sangamithra Panneer Selvam',
author: 'Sangamithra Panneer Selvam',
provider: 'Sangamithra Panneer Selvam',
toolKit: 'TF',
category: 'PR',
createdDate: '2023-09-28-18-03-11-000',
duplicateSolution: false,
},
{
solutionId: '61dec13d-8441-40b1-8019-d68f4cd61370',
solutionRevisionId: '3521f632-b029-4a9f-a159-57525f819fb8',
solutionName: 'ai4industry-gui',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-08-04-09-31-25-000',
duplicateSolution: false,
},
{
solutionId: '620ec698-4027-414a-8b9f-8d6503cbf35b',
solutionRevisionId: '86e0f4fd-694a-4ba2-ba9f-bb3db1dc850f',
solutionName: 'coverpageanalysis',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Ehsan Darestani Farahani',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-20-06-27-53-000',
duplicateSolution: false,
},
{
solutionId: '639bc7c3-c1d3-4260-9a0c-d446cb886d9f',
solutionRevisionId: '9fbb5ef6-f443-4953-812d-c13c47eed6ed',
solutionName: 'recognaizeui',
version: '1.0.0',
onBoarder: 'Chaitali P',
author: 'Chaitali P',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'DS',
createdDate: '2021-09-17-11-56-34-000',
duplicateSolution: false,
},
{
solutionId: '639bc7c3-c1d3-4260-9a0c-d446cb886d9f',
solutionRevisionId: 'c4b06844-c41b-4036-9021-e4bddba83591',
solutionName: 'recognaizeui',
version: '1.0.1',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-08-17-20-16-43-000',
duplicateSolution: false,
},
{
solutionId: '6958c0df-f06e-44d5-97f5-d0b593f2e186',
solutionRevisionId: '4e0ef62e-e884-4cde-8477-79d6f1b8caab',
solutionName: 'speech2text-en',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Gabriele De Luca',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-07-30-18-12-17-000',
duplicateSolution: false,
},
{
solutionId: '72cf5390-27f6-4877-b3e5-8d6b339ef5c8',
solutionRevisionId: '556da743-0c0b-44b9-be86-6ac40a45aea1',
solutionName: 'AI4agriNDVI',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'DLR',
toolKit: 'SK',
category: 'RG',
createdDate: '2022-07-01-20-19-11-000',
duplicateSolution: false,
},
{
solutionId: '7be990b3-1987-4076-9c7c-7c1561deb15b',
solutionRevisionId: 'f27de166-90aa-4be6-ad55-36a6c41f8ecd',
solutionName:
'traffic-scene-segmentation-deeplab-xception65-cityscapes',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-08-04-13-23-32-000',
duplicateSolution: false,
},
{
solutionId: '8b661182-16e0-469b-ae0d-302649fa07d1',
solutionRevisionId: 'a6bc64a4-30b4-4689-8bed-f09f3e2fbdcf',
solutionName: 'sudoku-design-evaluator-stream',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'CL',
createdDate: '2022-07-13-07-56-01-000',
duplicateSolution: false,
},
{
solutionId: '8bef5404-92fc-47e5-985a-6811cf2bc0d7',
solutionRevisionId: '67054e68-f123-466a-a3cb-de0b21156e2a',
solutionName: 'AI4Agri-frontend',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Javier Villazan',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-07-30-19-09-27-000',
duplicateSolution: false,
},
{
solutionId: '958390c9-35d5-47a3-9aac-40c9c66014e2',
solutionRevisionId: '628a51da-3b3a-40a2-8785-ec2caf15f209',
solutionName: 'sentimentanalysismodel',
version: '1.0.0',
onBoarder: 'Chaitali P',
author: 'Chaitali P',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'PR',
createdDate: '2021-09-17-13-24-01-000',
duplicateSolution: false,
},
{
solutionId: '9c71947a-8ece-4dff-a466-96752b02d2fe',
solutionRevisionId: 'd36b5ac6-7439-460c-9cdd-43ae6159299b',
solutionName: 'recognaizesegmentation',
version: '1.0.0',
onBoarder: 'Tobias Elvermann',
author: 'Tobias Elvermann',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'DT',
createdDate: '2021-09-17-12-06-52-000',
duplicateSolution: false,
},
{
solutionId: '9f0cb688-4c20-4e95-b15a-0d0bebba66ed',
solutionRevisionId: '07e5d9a9-aa38-4bf3-9967-4b854a8bbf80',
solutionName: 'ai4industry-planner',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Peter Schueller',
toolKit: 'SK',
category: 'DT',
createdDate: '2022-08-04-09-43-58-000',
duplicateSolution: false,
},
{
solutionId: 'a3fa1b6d-8407-4186-86cf-f827babb61e2',
solutionRevisionId: '96d6c3ad-3438-4991-8669-ce420f68bd1d',
solutionName: 'cnext-decision-intelligence',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Cnext',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-08-04-12-52-53-000',
duplicateSolution: false,
},
{
solutionId: 'a7838c96-7c2e-4324-96f5-de39e06df849',
solutionRevisionId: '23a1da1a-afdb-4320-abb0-d80eac23a7d1',
solutionName: 'audio-file-broker',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Gabriele De Luca',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-07-30-18-21-22-000',
duplicateSolution: false,
},
{
solutionId: 'abb19627-1cdc-4666-b048-0259e865da0b',
solutionRevisionId: '547b7f6f-cf1f-42ee-bd51-9e895c935d50',
solutionName: 'ner-trainingconfig',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-12-05-16-23-12-000',
duplicateSolution: false,
},
{
solutionId: 'b0baf808-d8a8-4076-98e9-1fd7877c7bc0',
solutionRevisionId: '883f021c-9579-4db7-bc89-786bd8b3c894',
solutionName: 'Time-prediction-for-example-manufacturing',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Joachim Koehler',
toolKit: 'SK',
category: 'RG',
createdDate: '2022-08-04-12-16-07-000',
duplicateSolution: false,
},
{
solutionId: 'b42b4e1d-6fa1-4252-8485-06ecc449c681',
solutionRevisionId: '4f7938fd-a0df-46d9-976d-274be3fc6b39',
solutionName: 'ai4iot-calibration',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Tiago Veiga',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-07-30-18-52-48-000',
duplicateSolution: false,
},
{
solutionId: 'd42472f3-eeaf-44d3-a470-f18fa9535e87',
solutionRevisionId: '511c685c-ce9b-4205-8d05-f2c47d1c5028',
solutionName: 'ner-model',
version: '1.0.1',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-12-13-13-52-07-000',
duplicateSolution: false,
},
{
solutionId: 'd42472f3-eeaf-44d3-a470-f18fa9535e87',
solutionRevisionId: 'e1a20fad-ba0e-4650-9eb1-e680bdf14a7b',
solutionName: 'ner-model',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'PR',
createdDate: '2022-10-04-08-30-40-000',
duplicateSolution: false,
},
{
solutionId: 'dcdd71f8-af91-4216-bac6-7ba30ada877f',
solutionRevisionId: '5224634c-c45a-4a22-8cc3-3e79ee2292e5',
solutionName: 'Tensorboard',
version: '1.0.1',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
toolKit: 'TF',
category: 'DT',
createdDate: '2022-07-04-12-51-45-000',
duplicateSolution: false,
},
{
solutionId: 'dcdd71f8-af91-4216-bac6-7ba30ada877f',
solutionRevisionId: 'e46f4043-7532-40ea-b4b5-6a9c5a80c8f7',
solutionName: 'Tensorboard',
version: '1.0.0',
onBoarder: 'Martin Welss',
author: 'Martin Welss',
provider: 'Fraunhofer IAIS',
toolKit: 'TF',
category: 'DT',
createdDate: '2021-09-24-09-44-38-000',
duplicateSolution: false,
},
{
solutionId: 'e00358f1-06be-4439-8a46-a3b21d68ee49',
solutionRevisionId: 'ec7123d3-f3ea-4835-b688-05ae82bf7575',
solutionName: 'hppdatabroker',
version: '1.0.0',
onBoarder: 'Sangamithra Panneer Selvam',
author: 'Sangamithra Panneer Selvam',
provider: 'Sangamithra Panneer Selvam',
toolKit: 'TF',
category: 'PR',
createdDate: '2023-09-28-17-59-30-000',
duplicateSolution: false,
},
{
solutionId: 'f6846b55-5bec-4796-8670-1dd11656c91c',
solutionRevisionId: 'b453c788-f20c-4e4b-a110-6be1f2ab224c',
solutionName: 'ner-databroker',
version: '1.0.0',
onBoarder: 'Andel Gugu',
author: 'Andel Gugu',
provider: 'Fraunhofer IAIS',
toolKit: 'SK',
category: 'DS',
createdDate: '2022-10-04-08-15-15-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '03860107-2670-4c73-a19a-3b4bda92824c',
solutionName: 'model-test',
version: '1.0.3',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-10-20-27-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '112a5936-eae0-4c04-ba4d-509bbabc6189',
solutionName: 'model-test',
version: '1.0.10',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-13-35-15-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '2dd0a468-fb06-4e1d-a1e1-e4bcb20aa7d3',
solutionName: 'model-test',
version: '1.0.7',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-10-37-51-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '364b7b17-5141-44fa-a50a-860635713329',
solutionName: 'model-test',
version: '1.0.5',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-10-34-36-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '3fb239b7-4a36-4ca3-abb4-30cd1f831115',
solutionName: 'model-test',
version: '1.0.1',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-05-30-19-29-50-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: '8372138a-268d-44cc-a0fd-ef3096b6e6bc',
solutionName: 'model-test',
version: '1.0.9',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-13-22-16-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: 'a7699e9c-9e88-4c4c-af60-036765d90ef7',
solutionName: 'model-test',
version: '1.0.2',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-05-30-19-31-10-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: 'b1a9559b-e201-4faa-8692-e6928205b5e2',
solutionName: 'model-test',
version: '1.0.8',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-13-17-50-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: 'b70620b1-6a91-45a1-9b68-79e0a13e496e',
solutionName: 'model-test',
version: '1.0.4',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-10-29-43-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: 'bffc7d08-7a8a-4429-85cd-f4865e8f76a8',
solutionName: 'model-test',
version: '1.0.0',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-05-30-17-09-16-000',
duplicateSolution: false,
},
{
solutionId: '0968973f-be2f-414f-ab82-a55ad3201b45',
solutionRevisionId: 'f7573766-3585-4969-a637-88e600730264',
solutionName: 'model-test',
version: '1.0.6',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-06-04-10-37-00-000',
duplicateSolution: false,
},
{
solutionId: '30ed65c9-1c57-474f-b7a5-65ebe1688ba5',
solutionRevisionId: 'c5e535d3-c5d1-447c-afad-c10fa7924f4c',
solutionName: 'model-test-4',
version: '1.0.0',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
toolKit: 'BR',
category: 'CL',
createdDate: '2024-05-30-19-43-21-000',
duplicateSolution: false,
},
{
solutionId: '5651d17b-0edb-4770-9d57-5da73ea417f6',
solutionRevisionId: 'bd9e4988-4037-4435-a250-8f5d79a7032f',
solutionName: 'model-test-5-test-5',
version: '1.0.0',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
toolKit: 'BR',
category: 'CL',
createdDate: '2024-05-30-19-44-40-000',
duplicateSolution: false,
},
{
solutionId: '7d5c891c-0461-4d72-900e-04f2d49d206c',
solutionRevisionId: '447a502f-4da6-43df-a55c-6d80703ad43e',
solutionName: 'model-test-3',
version: '1.0.0',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
createdDate: '2024-05-30-19-40-01-000',
duplicateSolution: false,
},
{
solutionId: 'a847f714-dfde-4e3c-b295-ef23b770ebe1',
solutionRevisionId: 'c963e827-58ff-45e1-b449-ebe6047321d6',
solutionName: 'model-test6',
version: '1.0.0',
onBoarder: 'Kawtar Laariche',
author: 'Kawtar Laariche',
toolKit: 'BR',
category: 'CL',
createdDate: '2024-06-19-11-13-23-000',
duplicateSolution: false,
},
],
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
getCompositeSolutions() {
return new Promise((resolve, reject) => {
try {
const response = {
items: [
{
solutionId: '409dcaf6-9086-42ff-a6b7-244edf59071d',
solutionName: 'recognaize-solution',
version: '2',
ownerId: 'Martin Welss',
provider: 'Fraunhofer IAIS',
toolKit: 'CP',
category: 'PR',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2022-08-17-20-22-03-000',
icon: 'null',
},
{
solutionId: '61a33ac7-323f-4492-b3bb-fc9482218af9',
solutionName: 'AI4IndustryPilot',
version: '2',
ownerId: 'Andel Gugu',
provider: 'Raoul Blankertz',
toolKit: 'CP',
category: 'PR',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2022-08-04-12-29-10-000',
icon: 'null',
},
{
solutionId: '64f3c1d3-fbf4-4de3-a5a4-27eeaf616614',
solutionName: 'Sudoku-Tutorial',
version: '1',
ownerId: 'Martin Welss',
provider: 'Peter Schueller',
toolKit: 'CP',
category: 'PR',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2022-07-13-09-38-05-000',
icon: 'null',
},
{
solutionId: '9f4b4eb1-d115-4970-9e5f-6d67663efcba',
solutionName: 'houseprice-pipeline',
version: '1',
ownerId: 'Sangamithra Panneer Selvam',
provider: 'Acumos',
toolKit: 'CP',
category: 'PR',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2023-09-28-18-14-08-000',
icon: 'null',
},
{
solutionId: 'b0b2eae5-d722-4a5a-9818-f726eb07af86',
solutionName: 'TrainingPipeline',
version: 'v2',
ownerId: 'Swetha Lakshmana Murthy',
provider: 'Swetha Lakshmana Murthy',
toolKit: 'CP',
category: 'CL',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2023-07-24-07-22-43-000',
icon: 'null',
},
{
solutionId: 'bda223d1-2f0a-487c-92e2-9ac6202f2591',
solutionName: 'named-entity-recognition',
version: '1.0',
ownerId: 'Andel Gugu',
provider: 'Fraunhofer IAIS',
toolKit: 'CP',
category: 'PR',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2023-01-04-10-15-53-000',
icon: 'null',
},
{
solutionId: 'fb13977a-6d91-4bb0-8077-c0f08cfa7b01',
solutionName: 'sentiment-analysis-pipeline',
version: '1',
ownerId: 'Martin Welss',
provider: 'Fraunhofer IAIS',
toolKit: 'CP',
category: 'CL',
description: 'null',
visibilityLevel: 'PB',
isDuplicateSolution: 'false',
created: '2022-08-21-21-03-53-000',
icon: 'null',
},
],
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
createNewCompositeSolution() {
return new Promise((resolve, reject) => {
try {
const response = {
cid: '12d23d23d-d23c23c2c-2c223-gb34f5h',
success: 'true',
errorMessage: '',
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
displayProperties() {
return new Promise((resolve, reject) => {
try {
const response = {
self: {
version: '1.0.0',
name: 'ai4eu-cuh-medaplus',
description: {},
component_type: 'Docker',
},
streams: {},
services: {
calls: [
{
config_key: 'getData',
request: {
streaming: false,
format: [
{
messageName: 'Response',
messageargumentList: [
{ role: '', name: 'data', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
{
config_key: 'mountVolume',
request: {
streaming: false,
format: [
{
messageName: 'SharedFolderStatus',
messageargumentList: [
{ role: '', name: 'success', tag: '1', type: 'bool' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
],
provides: [
{
route: 'getData',
request: {
streaming: false,
format: [
{
messageName: 'Request',
messageargumentList: [
{ role: '', name: 'path', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
{
route: 'mountVolume',
request: {
streaming: false,
format: [
{
messageName: 'SharedFolderRequest',
messageargumentList: [
{ role: '', name: 'path', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
],
},
parameters: [],
auxiliary: {},
artifacts: [],
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
async getProtoBufJSON(solutionId: string, version: string): Promise<any> {
// Retrieve the userId from the Observable
const userId = await firstValueFrom(this.userId$);
// Handle the case where userId is undefined
if (!userId) {
throw new Error('User ID is undefined');
}
const url = this.urlBuildService.buildUrl(
apiConfig.urlDesignStudioProtobuf,
{
userId,
solutionId,
version,
},
);
return firstValueFrom(
this._httpSharedService
.get(url)
.pipe(catchError((error) => throwError(error))),
);
}
getTypeInfo() {
return new Promise((resolve, reject) => {
try {
const response = {
self: {
version: '1.0.0',
name: 'ai4eu-cuh-medaplus',
description: {},
component_type: 'Docker',
},
streams: {},
services: {
calls: [
{
config_key: 'getData',
request: {
streaming: false,
format: [
{
messageName: 'Response',
messageargumentList: [
{ role: '', name: 'data', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
{
config_key: 'mountVolume',
request: {
streaming: false,
format: [
{
messageName: 'SharedFolderStatus',
messageargumentList: [
{ role: '', name: 'success', tag: '1', type: 'bool' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
],
provides: [
{
route: 'getData',
request: {
streaming: false,
format: [
{
messageName: 'Request',
messageargumentList: [
{ role: '', name: 'path', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
{
route: 'mountVolume',
request: {
streaming: false,
format: [
{
messageName: 'SharedFolderRequest',
messageargumentList: [
{ role: '', name: 'path', tag: '1', type: 'string' },
],
},
],
version: '',
},
response: { format: [], version: '' },
},
],
},
parameters: [],
auxiliary: {},
artifacts: [],
};
resolve(response);
} catch (error) {
reject(error);
}
});
}
async getFetchJsonTOSCA(solutionId: string, version: string): Promise<any> {
// Retrieve the userId from the Observable
const userId = await firstValueFrom(this.userId$);
// Handle the case where userId is undefined
if (!userId) {
throw new Error('User ID is undefined');
}
const url = this.urlBuildService.buildUrl(
apiConfig.urlDesignStudioTypeInfo,
{ userId, solutionId, version },
);
return firstValueFrom(
this._httpSharedService
.get(url)
.pipe(catchError((error) => throwError(error))),
);
}
buildURlGetFetchJsonTOSCA(solutionId: string, version: string): string {
const userId = this.userId;
// Handle the case where userId is undefined
if (!userId) {
throw new Error('User ID is undefined');
}
return this.urlBuildService.buildUrl(apiConfig.urlDesignStudioTypeInfo, {
userId,
solutionId,
version,
});
}
async addNode(solutionId: string, version: string): Promise<any> {
// Retrieve the userId from the Observable
const userId = await firstValueFrom(this.userId$);
// Handle the case where userId is undefined
if (!userId) {
throw new Error('User ID is undefined');
}
const url = this.urlBuildService.buildUrl(
apiConfig.urlDesignStudioAddNode,
{ userId, solutionId, version },
);
return firstValueFrom(
this._httpSharedService
.get(url)
.pipe(catchError((error) => throwError(error))),
);
}
httpGet(url: string, params: any) {
console.log({ url });
console.log({ params });
return firstValueFrom(
this._httpSharedService
.get(apiConfig.apiBackendURL + '/' + url, params)
.pipe(
tap((result) => {
console.log({ result });
}),
),
);
}
httpPost(url: string, body: any) {
console.log({ url });
console.log({ body });
const urlPost = apiConfig.apiBackendURL + '/' + url;
return firstValueFrom(this._httpSharedService.post(urlPost, body));
}
}
import { TestBed } from '@angular/core/testing';
import { UrlBuildService } from './url-build.service';
describe('UrlBuildService', () => {
let service: UrlBuildService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(UrlBuildService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
import { Injectable } from '@angular/core';
import { apiConfig } from '../config';
@Injectable({
providedIn: 'root',
})
export class UrlBuildService {
constructor() {}
buildUrl(verb: string, params: any): string {
return `${apiConfig.apiBackendURL}${
apiConfig.urlDesignStudioBase
}${verb}?${Object.keys(params)
.map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`)
.join('&')}`;
}
}
<p>design-studio works!</p>
<div ng-view></div>
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { Component, OnInit } from '@angular/core';
import { UpgradeModule } from '@angular/upgrade/static';
import { downgradeInjectable } from '@angular/upgrade/static';
import { DesignStudioService } from 'src/app/core/services/design-studio.service';
declare var angular: any;
angular
.module('designStudio')
.factory('ApiService', downgradeInjectable(DesignStudioService));
@Component({
selector: 'gp-design-studio',
standalone: true,
imports: [CommonModule],
selector: 'app-design-studio',
templateUrl: './design-studio.component.html',
styleUrl: './design-studio.component.scss'
styleUrl: './design-studio.component.scss',
})
export class DesignStudioComponent {
export class DesignStudioComponent implements OnInit {
constructor(private upgrade: UpgradeModule) {}
ngOnInit(): void {
this.upgrade.bootstrap(document.body, ['designStudio']);
}
}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DesignStudioComponent } from './design-studio.component';
import { UpgradeModule } from '@angular/upgrade/static';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: '',
component: DesignStudioComponent,
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class AppRoutingModule {}
@NgModule({
declarations: [DesignStudioComponent],
imports: [CommonModule, UpgradeModule, AppRoutingModule],
exports: [DesignStudioComponent],
})
export class DesignStudioModule {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment