Dinamically generate views for CORE Models
Change-Id: Ib1d042f366f916c2ba8513ee62014e7256ceb53d
diff --git a/src/app/datasources/rest/model.rest.ts b/src/app/datasources/rest/model.rest.ts
new file mode 100644
index 0000000..45431d4
--- /dev/null
+++ b/src/app/datasources/rest/model.rest.ts
@@ -0,0 +1,21 @@
+import {AppConfig} from '../../config/app.config';
+
+export interface IXosResourceService {
+ getResource(url: string): ng.resource.IResourceClass<any>;
+}
+
+export class ModelRest implements IXosResourceService {
+ static $inject = ['$resource'];
+ private resource: angular.resource.IResourceClass<any>;
+
+ /** @ngInject */
+ constructor(
+ private $resource: ng.resource.IResourceService
+ ) {
+
+ }
+
+ public getResource(url: string): ng.resource.IResourceClass<ng.resource.IResource<any>> {
+ return this.resource = this.$resource(`${AppConfig.apiEndpoint}${url}`);
+ }
+}
diff --git a/src/app/datasources/rest/modeldefs.rest.ts b/src/app/datasources/rest/modeldefs.rest.ts
new file mode 100644
index 0000000..d05aa6d
--- /dev/null
+++ b/src/app/datasources/rest/modeldefs.rest.ts
@@ -0,0 +1,36 @@
+import {AppConfig} from '../../config/app.config';
+
+interface IModeldefField {
+ name: string;
+ type: string;
+}
+
+export interface IModeldef {
+ fields: IModeldefField[];
+ relations: string[];
+ name: string;
+}
+
+export interface IModeldefsService {
+ get(): Promise<IModeldef[]>;
+}
+
+export class ModeldefsService {
+ constructor(
+ private $http: angular.IHttpService,
+ private $q: angular.IQService,
+ ) {
+ }
+
+ public get(): Promise<any> {
+ const d = this.$q.defer();
+ this.$http.get(`${AppConfig.apiEndpoint}/utility/modeldefs/`)
+ .then((res) => {
+ d.resolve(res.data);
+ })
+ .catch(e => {
+ d.reject(e);
+ });
+ return d.promise;
+ }
+}
diff --git a/src/app/datasources/rest/slices.rest.ts b/src/app/datasources/rest/slices.rest.ts
deleted file mode 100644
index a5b7e5c..0000000
--- a/src/app/datasources/rest/slices.rest.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import {AppConfig} from '../../config/app.config';
-
-export interface IXosResourceService {
- getResource(): ng.resource.IResourceClass<any>;
-}
-
-export class SlicesRest implements IXosResourceService {
- static $inject = ['$resource'];
- private resource: angular.resource.IResourceClass<any>;
-
- /** @ngInject */
- constructor(
- private $resource: ng.resource.IResourceService
- ) {
- this.resource = this.$resource(`${AppConfig.apiEndpoint}/core/slices/`);
- }
-
- public getResource(): ng.resource.IResourceClass<ng.resource.IResource<any>> {
- return this.resource;
- }
-}