endpoints: {},
cbawizard: {
stepsRequired:
+ {
+ stepCount: 4,
+ steps: [{
+ name: 'CBA Metadata',
+ componentURL: '/controllerBlueprint/selectTemplate',
+ label: 'CBA Metadata',
+ link: '/blueprint/selectTemplate',
+ index: 0,
+ component: 'SelectTemplateComponent'
+ },
{
- stepCount: 4,
- steps: [{
- name: 'CBA Metadata',
- componentURL: '/controllerBlueprint/selectTemplate',
- label: 'CBA Metadata',
- link: '/blueprint/selectTemplate',
- index: 0,
- component: 'SelectTemplateComponent'
- },
- {
- name: 'Controller Blueprint Designer',
- componentURL: '/controllerBlueprint/modifyTemplate',
- label: 'Controller Blueprint Designer',
- link: '/blueprint/modifyTemplate',
- index: 1,
- component: 'ModifyTemplateComponent'
- },
- {
- name: 'Test',
- componentURL: '/controllerBlueprint/testTemplate',
- label: 'Test',
- link: '/blueprint/testTemplate',
- index: 2,
- component: 'TestTemplateComponent'
- },
- {
- name: 'Deploy',
- componentURL: '/controllerBlueprint/deployTemplate',
- label: 'Deploy',
- link: '/blueprint/deployTemplate',
- index: 3,
- component: 'DeployTemplateComponent'
- }]
- }
+ name: 'Controller Blueprint Designer',
+ componentURL: '/controllerBlueprint/modifyTemplate',
+ label: 'Controller Blueprint Designer',
+ link: '/blueprint/modifyTemplate',
+ index: 1,
+ component: 'ModifyTemplateComponent'
+ },
+ {
+ name: 'Test',
+ componentURL: '/controllerBlueprint/testTemplate',
+ label: 'Test',
+ link: '/blueprint/testTemplate',
+ index: 2,
+ component: 'TestTemplateComponent'
+ },
+ {
+ name: 'Deploy',
+ componentURL: '/controllerBlueprint/deployTemplate',
+ label: 'Deploy',
+ link: '/blueprint/deployTemplate',
+ index: 3,
+ component: 'DeployTemplateComponent'
+ }]
+ }
},
datadictionary: {
stepsRequired:
- {
- stepCount: 3,
- steps: [{
- name: 'Resource Creation', componentURL: '/dataDictionary/selectTemplate',
- label: 'Resource Creation',
- component: 'ResourceCreationComponent'
+ {
+ stepCount: 3,
+ steps: [{
+ name: 'Resource Creation', componentURL: '/dataDictionary/selectTemplate',
+ label: 'Resource Creation',
+ component: 'ResourceCreationComponent'
- },
- {
- name: 'Edit/Validate', componentURL: '/dataDictionary/modifyTemplate',
- label: 'Edit/Validate',
- component: 'ResourceEditComponent'
- },
- {
- name: 'Save', componentURL: '/dataDictionary/saveTemplate',
- label: 'Save Resource',
- component: 'SaveResourceComponent'
- }]
- }
+ },
+ {
+ name: 'Edit/Validate', componentURL: '/dataDictionary/modifyTemplate',
+ label: 'Edit/Validate',
+ component: 'ResourceEditComponent'
+ },
+ {
+ name: 'Save', componentURL: '/dataDictionary/saveTemplate',
+ label: 'Save Resource',
+ component: 'SaveResourceComponent'
+ }]
+ }
}
};
export const ResourceDictionaryURLs = {
saveResourceDictionary: '/resourcedictionary/save',
+ saveDictionary: '/resourcedictionary/definition',
searchResourceDictionaryByTags: '/resourcedictionary/search',
searchResourceDictionaryByName: '',
searchResourceDictionaryByNames: '/resourcedictionary/search/by-names',
<div class="row">
<div class="col-6" *ngFor="let file of getKeys(templateAndMappingMap)">
<a class="template-mapping-list float" [class.active]="selectedTemplates.has(file)">
+ <i *ngIf="selectedTemplates.has(file)" class="fa fa-check mx-1"></i>
<p (click)="setTemplate(file)">{{file}}</p>
<span *ngIf="getValue(file,templateAndMappingMap).isMapping">Mapping</span>
<span *ngIf="getValue(file,templateAndMappingMap).isTemplate">Template</span>
</div>
</div>
</div>
-</div>
+</div>
\ No newline at end of file
}
save(metadata) {
- return this.api.post(ResourceDictionaryURLs.saveResourceDictionary, { ...metadata });
+ return this.api.post(ResourceDictionaryURLs.saveDictionary, { ...metadata });
}
}
import { DictionaryMetadataComponent } from './dictionary-metadata/dictionary-metadata.component';
import { SourcesTemplateComponent } from './sources-template/sources-template.component';
import { DictionaryCreationService } from './dictionary-creation.service';
+import { ToastrService } from 'ngx-toastr';
@Component({
selector: 'app-resource-dictionary-creation',
constructor(
private router: Router,
private dictionaryCreationStore: DictionaryCreationStore,
- private dictionaryService: DictionaryCreationService
+ private dictionaryService: DictionaryCreationService,
+ private toaster: ToastrService
) {
}
}
createDictionary() {
+
console.log('-----');
this.metadataTabComponent.saveMetaDataToStore();
this.dictionaryCreationStore.state$.subscribe(res => {
console.log('---------------------------------------');
console.log(res);
this.dictionaryService.save(res.metaData).subscribe(data => {
-
+ this.toaster.success('Dictionary Resource created');
}, err => {
+ this.toaster.error('An error happened ...');
+ }, () => {
});
- });
+ }).unsubscribe();
// this.sourcesTemplateComponent.saveSorcesDataToStore();
}
}
},
})
+ async saveDefinition(@requestBody({
+ content: { 'application/json': { schema: { 'x-ts-type': JSON } } },
+ accepts: { 'application/json': { schema: { 'x-ts-type': JSON } } }
+ }) resourceDictionary: JSON): Promise<any> {
+ return await this.rdservice.saveDefinition(resourceDictionary);
+ }
+
+ @post('/resourcedictionary/definition', {
+ responses: {
+ '200': {
+ content: { 'application/json': {} }
+ }
+ },
+ })
async save(@requestBody({
content: { 'application/json': { schema: { 'x-ts-type': JSON } } },
accepts: { 'application/json': { schema: { 'x-ts-type': JSON } } }
}) resourceDictionary: JSON): Promise<any> {
- return await this.rdservice.save(resourceDictionary);
+ return await this.rdservice.saveDefinition(resourceDictionary);
}
-
+
+
@post('/resourcedictionary/search/by-names', {
responses: {
'200': {
@get('/resourcedictionary/model-type/by-definition/{type}', {
responses: {
'200': {
- content: {'application/json': {}},
+ content: { 'application/json': {} },
},
},
})
-import {processorApiConfig} from '../config/app-config';
+import { processorApiConfig } from '../config/app-config';
export default {
"name": "resourceDictionary",
"crud": false,
"debug": true,
"operations": [{
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/dictionary/{name}",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/dictionary/{name}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getByName": ["name"]
-
- }
+ "responsePath": "$.*"
},
- {
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/dictionary/source-mapping",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
- },
- "functions": {
- "getSourceMapping": []
+ "functions": {
+ "getByName": ["name"]
- }
- },
- {
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/dictionary/search/{tags}",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/dictionary/source-mapping",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getByTags": ["tags"]
-
- }
+ "responsePath": "$.*"
},
- {
- "template": {
- "method": "POST",
- "url": processorApiConfig.http.url + "/dictionary",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "body": "{resourceDictionary}",
- "responsePath": "$.*"
- },
- "functions": {
- "save": ["resourceDictionary"]
+ "functions": {
+ "getSourceMapping": []
- }
- },
- {
- "template": {
- "method": "POST",
- "url": processorApiConfig.http.url + "/dictionary/by-names",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "body": "{resourceDictionaryList}",
- "responsePath": "$.*"
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/dictionary/search/{tags}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "searchbyNames": ["resourceDictionaryList"]
+ "responsePath": "$.*"
+ },
+ "functions": {
+ "getByTags": ["tags"]
- }
+ }
+ },
+ {
+ "template": {
+ "method": "POST",
+ "url": processorApiConfig.http.url + "/dictionary",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
+ },
+ "body": "{resourceDictionary}",
+ "responsePath": "$.*"
},
- {
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/model-type/{source}",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
+ "functions": {
+ "save": ["resourceDictionary"]
+
+ }
+ },
+ {
+ "template": {
+ "method": "POST",
+ "url": processorApiConfig.http.url + "/dictionary/definition",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getModelType": ["source"]
+ "body": "{resourceDictionary}",
+ "responsePath": "$.*"
+ },
+ "functions": {
+ "saveDefinition": ["resourceDictionary"]
- }
+ }
+ },
+ {
+ "template": {
+ "method": "POST",
+ "url": processorApiConfig.http.url + "/dictionary/by-names",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
+ },
+ "body": "{resourceDictionaryList}",
+ "responsePath": "$.*"
},
- {
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/model-type/by-definition/data_type",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
+ "functions": {
+ "searchbyNames": ["resourceDictionaryList"]
+
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/model-type/{source}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getDataTypes": []
+ "responsePath": "$.*"
+ },
+ "functions": {
+ "getModelType": ["source"]
- }
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/model-type/by-definition/data_type",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
+ },
+ "responsePath": "$.*"
},
- {
- "template": {
- "method": "GET",
- "url": processorApiConfig.http.url + "/model-type/by-definition/{type}",
- "headers": {
- "accepts": "application/json",
- "content-type": "application/json",
- "authorization": processorApiConfig.http.authToken
- },
- "responsePath": "$.*"
+ "functions": {
+ "getDataTypes": []
+
+ }
+ },
+ {
+ "template": {
+ "method": "GET",
+ "url": processorApiConfig.http.url + "/model-type/by-definition/{type}",
+ "headers": {
+ "accepts": "application/json",
+ "content-type": "application/json",
+ "authorization": processorApiConfig.http.authToken
},
- "functions": {
- "getResourceDictionaryByType": ["type"]
+ "responsePath": "$.*"
+ },
+ "functions": {
+ "getResourceDictionaryByType": ["type"]
- }
}
+ }
]
};
-import {getService} from '@loopback/service-proxy';
-import {inject, Provider} from '@loopback/core';
-import {ResourceDictionaryDataSource} from '../datasources';
+import { getService } from '@loopback/service-proxy';
+import { inject, Provider } from '@loopback/core';
+import { ResourceDictionaryDataSource } from '../datasources';
export interface ResourceDictionaryService {
getByName(name: string): Promise<JSON>;
getSourceMapping(): Promise<JSON>;
getByTags(tags: string): Promise<JSON>;
save(resourceDictionary: JSON): Promise<JSON>;
+ saveDefinition(resourceDictionary: JSON): Promise<JSON>;
searchbyNames(resourceDictionaryList: JSON): Promise<JSON>;
getModelType(source: string): Promise<JSON>;
getDataTypes(): Promise<JSON>;
// resourceDictionary must match the name property in the datasource json file
@inject('datasources.resourceDictionary')
protected dataSource: ResourceDictionaryDataSource = new ResourceDictionaryDataSource(),
- ) {}
+ ) { }
value(): Promise<ResourceDictionaryService> {
return getService(this.dataSource);