aboutsummaryrefslogtreecommitdiffstats
path: root/cds-ui/client/src/app/common/core/store
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/client/src/app/common/core/store')
-rw-r--r--cds-ui/client/src/app/common/core/store/README.md22
-rw-r--r--cds-ui/client/src/app/common/core/store/actions/blueprint.action.ts78
-rw-r--r--cds-ui/client/src/app/common/core/store/actions/resources.action.ts57
-rw-r--r--cds-ui/client/src/app/common/core/store/effects/blueprint.effects.ts56
-rw-r--r--cds-ui/client/src/app/common/core/store/effects/resources.effects.ts37
-rw-r--r--cds-ui/client/src/app/common/core/store/models/blueprint-http.model.ts25
-rw-r--r--cds-ui/client/src/app/common/core/store/models/blueprint.model.ts30
-rw-r--r--cds-ui/client/src/app/common/core/store/models/blueprintState.model.ts34
-rw-r--r--cds-ui/client/src/app/common/core/store/models/entrySchema.model.ts23
-rw-r--r--cds-ui/client/src/app/common/core/store/models/imports.model.ts24
-rw-r--r--cds-ui/client/src/app/common/core/store/models/itopologytemplate.model.ts26
-rw-r--r--cds-ui/client/src/app/common/core/store/models/metadata.model.ts28
-rw-r--r--cds-ui/client/src/app/common/core/store/models/propertyData.model.ts27
-rw-r--r--cds-ui/client/src/app/common/core/store/models/resources-http.model.ts24
-rw-r--r--cds-ui/client/src/app/common/core/store/models/resources.model.ts30
-rw-r--r--cds-ui/client/src/app/common/core/store/models/resourcesState.model.ts28
-rw-r--r--cds-ui/client/src/app/common/core/store/models/sourcesData.model.ts23
-rw-r--r--cds-ui/client/src/app/common/core/store/reducers/app.reducer.ts33
-rw-r--r--cds-ui/client/src/app/common/core/store/reducers/blueprint.reducer.ts63
-rw-r--r--cds-ui/client/src/app/common/core/store/reducers/resources.reducer.ts35
-rw-r--r--cds-ui/client/src/app/common/core/store/selectors/blueprint.selectors.ts31
-rw-r--r--cds-ui/client/src/app/common/core/store/selectors/resources.selectors.ts30
-rw-r--r--cds-ui/client/src/app/common/core/store/state/app.state.ts37
-rw-r--r--cds-ui/client/src/app/common/core/store/state/blueprint.state.ts34
-rw-r--r--cds-ui/client/src/app/common/core/store/state/resources.state.ts28
25 files changed, 863 insertions, 0 deletions
diff --git a/cds-ui/client/src/app/common/core/store/README.md b/cds-ui/client/src/app/common/core/store/README.md
new file mode 100644
index 000000000..c9584c84a
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/README.md
@@ -0,0 +1,22 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+This folder contains the code related to ngrx/store, for application state management. \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/actions/blueprint.action.ts b/cds-ui/client/src/app/common/core/store/actions/blueprint.action.ts
new file mode 100644
index 000000000..8dc5067e7
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/actions/blueprint.action.ts
@@ -0,0 +1,78 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { Injectable } from '@angular/core';
+import { Action, Store } from '@ngrx/store';
+import { IBlueprint } from '../models/blueprint.model';
+import { IBlueprintState } from '../models/blueprintState.model';
+
+export const LOAD_BLUEPRINT = 'LOAD_BLUEPRINT';
+export const LOAD_BLUEPRINT_SUCCESS = 'LOAD_BLUEPRINT_SUCCESS';
+export const LOAD_BLUEPRINT_FAILURE = 'LOAD_BLUEPRINT_FAILURE';
+export const UPDATE_BLUEPRINT ='UPDATE_BLUEPRINT';
+export const UPDATE_BLUEPRINT_SUCCESS = 'UPDATE_BLUEPRINT_SUCCESS';
+export const UPDATE_BLUEPRINT_FAILURE = 'UPDATE_BLUEPRINT_FAILURE';
+export const SAVE_BLUEPRINT = 'SAVE_BLUEPRINT';
+export const SAVE_BLUEPRINT_SUCCESS = 'SAVE_BLUEPRINT_SUCCESS';
+export const SAVE_BLUEPRINT_FAILURE = 'SAVE_BLUEPRINT_FAILURE';
+
+export const SET_BLUEPRINT = 'SET Blueprint';
+export const REMOVE_BLUEPRINT = 'Remove Blueprint';
+
+export const SET_BLUEPRINT_STATE = 'SET Blueprint state';
+
+
+export class LoadBlueprint implements Action {
+ readonly type = LOAD_BLUEPRINT;
+ constructor(public startLoadSuccess?: boolean) {}
+}
+
+export class LoadBlueprintSuccess implements Action {
+ readonly type = LOAD_BLUEPRINT_SUCCESS;
+ constructor(public payload: IBlueprint) {}
+}
+
+export class LoadBlueprintFailure implements Action {
+ readonly type = LOAD_BLUEPRINT_FAILURE;
+ constructor(public error: any) {}
+}
+
+export class SetBlueprintState implements Action {
+ readonly type = SET_BLUEPRINT_STATE;
+ constructor(public payload: IBlueprintState) {}
+}
+
+// export class SetBlueprint implements Action {
+// readonly type = SET_BLUEPRINT;
+// constructor(public payload: Blueprint) {}
+// }
+
+// export class RemoveBlueprint implements Action {
+// readonly type = REMOVE_BLUEPRINT;
+// constructor(public payload: Blueprint) {}
+// }
+
+export class UpdateBlueprint implements Action {
+ readonly type = UPDATE_BLUEPRINT;
+ constructor(public payload: IBlueprint) {}
+}
+
+export type Actions = LoadBlueprint | LoadBlueprintSuccess | LoadBlueprintFailure | SetBlueprintState; \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/actions/resources.action.ts b/cds-ui/client/src/app/common/core/store/actions/resources.action.ts
new file mode 100644
index 000000000..d5a723b6d
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/actions/resources.action.ts
@@ -0,0 +1,57 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import { Injectable } from '@angular/core';
+import { Action, Store } from '@ngrx/store';
+import { IResources } from '../models/resources.model';
+import { IResourcesState } from '../models/resourcesState.model';
+
+export const LOAD_RESOURCES = 'LOAD_RESOURCES';
+export const LOAD_RESOURCES_SUCCESS = 'LOAD_RESOURCES_SUCCESS';
+export const LOAD_RESOURCES_FAILURE = 'LOAD_RESOURCES_FAILURE';
+export const UPDATE_RESOURCES ='UPDATE_RESOURCES';
+export const SET_RESOURCES_STATE = 'SET Resources state';
+
+
+export class LoadResources implements Action {
+ readonly type = LOAD_RESOURCES;
+ constructor(public startLoadSuccess?: boolean) {}
+}
+
+export class LoadResourcesSuccess implements Action {
+ readonly type = LOAD_RESOURCES_SUCCESS;
+ constructor(public payload: IResources) {}
+}
+
+export class LoadResourcesFailure implements Action {
+ readonly type = LOAD_RESOURCES_FAILURE;
+ constructor(public error: any) {}
+}
+
+export class SetResourcesState implements Action {
+ readonly type = SET_RESOURCES_STATE;
+ constructor(public payload: IResourcesState) {}
+}
+
+export class UpdateResources implements Action {
+ readonly type = UPDATE_RESOURCES;
+ constructor(public payload: IResources) {}
+}
+
+export type Actions = LoadResources | LoadResourcesSuccess | LoadResourcesFailure | SetResourcesState; \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/effects/blueprint.effects.ts b/cds-ui/client/src/app/common/core/store/effects/blueprint.effects.ts
new file mode 100644
index 000000000..e1b1c2fd9
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/effects/blueprint.effects.ts
@@ -0,0 +1,56 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { Injectable } from '@angular/core';
+import { Effect, ofType, Actions } from '@ngrx/effects';
+import { Store, select } from '@ngrx/store';
+import { of } from 'rxjs';
+import { switchMap, map, withLatestFrom, catchError } from 'rxjs/operators';
+
+import { IAppState } from '../state/app.state';
+import * as BlueprintActions from '../actions/blueprint.action';
+// import { IBlueprintHttp } from '../models/blueprint-http.model';
+// import { BlueprintService } from '../../services/blueprint.service';
+// import { BlueprintService } from '../../../feature-modules/blueprint/blueprint.service';
+
+@Injectable()
+export class BlueprintEffects {
+
+
+ constructor(
+ // private blueprintService: BlueprintService,
+ private _actions$: Actions,
+ private _store: Store<IAppState>
+ ) {}
+
+ // @Effect()
+ // getBlueprint$ = this._actions$.pipe(
+ // ofType<BlueprintActions.LoadBlueprint>(BlueprintActions.LOAD_BLUEPRINT),
+ // switchMap(() =>
+ // this.blueprintService.loadBlueprint().pipe(
+ // map((blueprintResponse: any) => new BlueprintActions.LoadBlueprintSuccess(blueprintResponse)),
+ // catchError((error : any) => of(new BlueprintActions.LoadBlueprintSuccess(error)))
+ // ),
+ // ,
+ // switchMap((blueprintResponse: any) => of(new BlueprintActions.LoadBlueprintSuccess(blueprintResponse)))
+// ),
+// )
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/effects/resources.effects.ts b/cds-ui/client/src/app/common/core/store/effects/resources.effects.ts
new file mode 100644
index 000000000..f48f28497
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/effects/resources.effects.ts
@@ -0,0 +1,37 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+
+import { Injectable } from '@angular/core';
+import { Effect, ofType, Actions } from '@ngrx/effects';
+import { Store, select } from '@ngrx/store';
+import { of } from 'rxjs';
+import { switchMap, map, withLatestFrom, catchError } from 'rxjs/operators';
+
+import { IAppState } from '../state/app.state';
+import * as ResourcesActions from '../actions/resources.action';
+
+@Injectable()
+export class ResourcesEffects {
+
+ constructor(
+ private _actions$: Actions,
+ private _store: Store<IAppState>
+ ) {}
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/blueprint-http.model.ts b/cds-ui/client/src/app/common/core/store/models/blueprint-http.model.ts
new file mode 100644
index 000000000..e0e98d580
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/blueprint-http.model.ts
@@ -0,0 +1,25 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+import { IBlueprint } from '../models/blueprint.model';
+
+export interface IBlueprintHttp {
+ blueprint: IBlueprint;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/blueprint.model.ts b/cds-ui/client/src/app/common/core/store/models/blueprint.model.ts
new file mode 100644
index 000000000..f4989fb73
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/blueprint.model.ts
@@ -0,0 +1,30 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { IMetaData } from './metadata.model';
+import { IImportModel } from './imports.model';
+import { ITopologyTemplate } from './itopologytemplate.model';
+
+export interface IBlueprint {
+ metadata: IMetaData;
+ fileImports: Array<IImportModel>
+ toplogyTemplates: ITopologyTemplate;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/blueprintState.model.ts b/cds-ui/client/src/app/common/core/store/models/blueprintState.model.ts
new file mode 100644
index 000000000..6d2659248
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/blueprintState.model.ts
@@ -0,0 +1,34 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+import { IMetaData } from './metadata.model';
+import { IImportModel } from './imports.model';
+import { IBlueprint } from './blueprint.model';
+
+
+export interface IBlueprintState {
+ blueprint: IBlueprint,
+ name?: string;
+ files?: any;
+ filesData?: any;
+ isLoadSuccess?: boolean;
+ isUpdateSuccess?: boolean;
+ isSaveSuccess?: boolean;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/entrySchema.model.ts b/cds-ui/client/src/app/common/core/store/models/entrySchema.model.ts
new file mode 100644
index 000000000..8e9659051
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/entrySchema.model.ts
@@ -0,0 +1,23 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+
+export interface IEntrySchema{
+ Type:string;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/imports.model.ts b/cds-ui/client/src/app/common/core/store/models/imports.model.ts
new file mode 100644
index 000000000..9510ed3cf
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/imports.model.ts
@@ -0,0 +1,24 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+export interface IImportModel {
+ file: string;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/itopologytemplate.model.ts b/cds-ui/client/src/app/common/core/store/models/itopologytemplate.model.ts
new file mode 100644
index 000000000..7457f2f8c
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/itopologytemplate.model.ts
@@ -0,0 +1,26 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+export interface ITopologyTemplate {
+ inputs: object[];
+ node_template: object[];
+ workflow: object[];
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/metadata.model.ts b/cds-ui/client/src/app/common/core/store/models/metadata.model.ts
new file mode 100644
index 000000000..6ee427504
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/metadata.model.ts
@@ -0,0 +1,28 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+export interface IMetaData {
+ template_author: string;
+ author_email: String;
+ user_groups: string;
+ template_name: string;
+ template_version: string;
+ template_tags: string;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/propertyData.model.ts b/cds-ui/client/src/app/common/core/store/models/propertyData.model.ts
new file mode 100644
index 000000000..94cff8991
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/propertyData.model.ts
@@ -0,0 +1,27 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import {IEntrySchema} from './entrySchema.model';
+
+export interface IPropertyData{
+ discription:string;
+ _type:string;
+ required:boolean;
+ entry_schema:IEntrySchema;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/resources-http.model.ts b/cds-ui/client/src/app/common/core/store/models/resources-http.model.ts
new file mode 100644
index 000000000..3f2556a50
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/resources-http.model.ts
@@ -0,0 +1,24 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import { IResources } from '../models/resources.model';
+
+export interface IResourcesHttp {
+ resources: IResources;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/resources.model.ts b/cds-ui/client/src/app/common/core/store/models/resources.model.ts
new file mode 100644
index 000000000..019c2684a
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/resources.model.ts
@@ -0,0 +1,30 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+
+import { ISourcesData } from './sourcesData.model';
+import { IPropertyData } from './propertyData.model';
+
+export interface IResources {
+ name:string ;
+ tags:string;
+ updated_bt:string;
+ property: IPropertyData;
+ sources: ISourcesData;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/resourcesState.model.ts b/cds-ui/client/src/app/common/core/store/models/resourcesState.model.ts
new file mode 100644
index 000000000..7dacf3242
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/resourcesState.model.ts
@@ -0,0 +1,28 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+
+import { IResources } from './resources.model';
+
+export interface IResourcesState {
+ resources: IResources,
+ isLoadSuccess: boolean;
+ isUpdateSuccess: boolean;
+ isSaveSuccess: boolean;
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/models/sourcesData.model.ts b/cds-ui/client/src/app/common/core/store/models/sourcesData.model.ts
new file mode 100644
index 000000000..ed43fc969
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/models/sourcesData.model.ts
@@ -0,0 +1,23 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+
+export interface ISourcesData{
+sources: object[];
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/reducers/app.reducer.ts b/cds-ui/client/src/app/common/core/store/reducers/app.reducer.ts
new file mode 100644
index 000000000..6f583202c
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/reducers/app.reducer.ts
@@ -0,0 +1,33 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { ActionReducerMap } from '@ngrx/store';
+import { routerReducer } from '@ngrx/router-store';
+
+import { IAppState } from '../state/app.state';
+import { blueprintReducer } from '../reducers/blueprint.reducer';
+import { resourcesReducer } from '../reducers/resources.reducer';
+
+export const appReducers: ActionReducerMap<IAppState, any> = {
+ router: routerReducer,
+ blueprint: blueprintReducer,
+ resources:resourcesReducer
+}; \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/reducers/blueprint.reducer.ts b/cds-ui/client/src/app/common/core/store/reducers/blueprint.reducer.ts
new file mode 100644
index 000000000..37a659da6
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/reducers/blueprint.reducer.ts
@@ -0,0 +1,63 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { Action } from '@ngrx/store';
+import { IBlueprint } from '../models/blueprint.model';
+import { IBlueprintState } from '../models/blueprintState.model';
+import { initialBlueprintState } from '../state/blueprint.state';
+import * as BlueprintActions from '../actions/blueprint.action';
+
+// const initialState: BlueprintState = {
+// blueprint: {
+// metadata: {
+// template_author: '',
+// author_email: '',
+// user_groups: '',
+// template_name: '',
+// template_version: '',
+// template_tags: ''
+// },
+// fileImports: [{file:''}],
+// toplogyTemplates: 'temp'
+// },
+// isLoadSuccess: false,
+// isUpdateSuccess: false,
+// isSaveSuccess: false
+// }
+
+
+export function blueprintReducer(state: IBlueprintState = initialBlueprintState, action: BlueprintActions.Actions) : IBlueprintState {
+ switch(action.type) {
+ case BlueprintActions.LOAD_BLUEPRINT_SUCCESS:
+ return {...state,
+ blueprint: action.payload
+ }
+ case BlueprintActions.SET_BLUEPRINT_STATE :
+ return {...state,
+ blueprint: action.payload.blueprint,
+ name: action.payload.name,
+ files: action.payload.files,
+ filesData: action.payload.filesData
+ }
+ default:
+ return state;
+ }
+}
diff --git a/cds-ui/client/src/app/common/core/store/reducers/resources.reducer.ts b/cds-ui/client/src/app/common/core/store/reducers/resources.reducer.ts
new file mode 100644
index 000000000..c9d587d16
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/reducers/resources.reducer.ts
@@ -0,0 +1,35 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import { Action } from '@ngrx/store';
+import { IResources } from '../models/resources.model';
+import { IResourcesState } from '../models/resourcesState.model';
+import { initialResourcesState } from '../state/resources.state';
+import * as ResourcesActions from '../actions/resources.action';
+
+export function resourcesReducer(state: IResourcesState = initialResourcesState, action: ResourcesActions.Actions) : IResourcesState {
+ switch(action.type) {
+ case ResourcesActions.LOAD_RESOURCES_SUCCESS:
+ return {...state,
+ resources: action.payload
+ }
+ default:
+ return state;
+ }
+}
diff --git a/cds-ui/client/src/app/common/core/store/selectors/blueprint.selectors.ts b/cds-ui/client/src/app/common/core/store/selectors/blueprint.selectors.ts
new file mode 100644
index 000000000..d23221cce
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/selectors/blueprint.selectors.ts
@@ -0,0 +1,31 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+import { createSelector } from '@ngrx/store';
+
+import { IAppState } from '../state/app.state';
+import { IBlueprintState } from '../models/blueprintState.model';
+
+const selectBlueprintFromAppState = (state: IAppState) => state.blueprint;
+
+export const selectBlueprint = createSelector(
+ selectBlueprintFromAppState,
+ (state: IBlueprintState) => state.blueprint
+); \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/selectors/resources.selectors.ts b/cds-ui/client/src/app/common/core/store/selectors/resources.selectors.ts
new file mode 100644
index 000000000..96ec4d3ec
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/selectors/resources.selectors.ts
@@ -0,0 +1,30 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import { createSelector } from '@ngrx/store';
+
+import { IAppState } from '../state/app.state';
+import { IResourcesState } from '../models/resourcesState.model';
+
+const selectResourcesFromAppState = (state: IAppState) => state.resources;
+
+export const selectResources = createSelector(
+ selectResourcesFromAppState,
+ (state: IResourcesState) => state.resources
+); \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/state/app.state.ts b/cds-ui/client/src/app/common/core/store/state/app.state.ts
new file mode 100644
index 000000000..052eb2c5b
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/state/app.state.ts
@@ -0,0 +1,37 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { RouterReducerState } from '@ngrx/router-store';
+import { IBlueprintState } from '../models/blueprintState.model';
+import { initialBlueprintState } from './blueprint.state';
+import { IResourcesState } from '../models/resourcesState.model';
+import { initialResourcesState } from './resources.state';
+
+export interface IAppState {
+ router? : RouterReducerState,
+ blueprint: IBlueprintState,
+ resources: IResourcesState
+}
+
+export const initialAppState: IAppState = {
+ blueprint: initialBlueprintState,
+ resources: initialResourcesState
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/state/blueprint.state.ts b/cds-ui/client/src/app/common/core/store/state/blueprint.state.ts
new file mode 100644
index 000000000..19a837693
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/state/blueprint.state.ts
@@ -0,0 +1,34 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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.
+============LICENSE_END============================================
+*/
+
+import { IBlueprintState } from '../models/blueprintState.model';
+import { IBlueprint } from '../models/blueprint.model';
+
+
+export const initialBlueprintState : IBlueprintState = {
+ blueprint : {} as IBlueprint,
+ name: '',
+ files: [],
+ filesData: [],
+ isLoadSuccess: false,
+ isUpdateSuccess: false,
+ isSaveSuccess: false,
+} \ No newline at end of file
diff --git a/cds-ui/client/src/app/common/core/store/state/resources.state.ts b/cds-ui/client/src/app/common/core/store/state/resources.state.ts
new file mode 100644
index 000000000..046667a04
--- /dev/null
+++ b/cds-ui/client/src/app/common/core/store/state/resources.state.ts
@@ -0,0 +1,28 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : CDS
+* ================================================================================
+* Copyright (C) 2019 TechMahindra
+*=================================================================================
+* 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.
+* ============LICENSE_END=========================================================
+*/
+import { IResourcesState } from '../models/resourcesState.model';
+import { IResources } from '../models/resources.model';
+
+export const initialResourcesState : IResourcesState = {
+ resources : {} as IResources,
+ isLoadSuccess: false,
+ isUpdateSuccess: false,
+ isSaveSuccess: false,
+} \ No newline at end of file