Dinamically generate views for CORE Models

Change-Id: Ib1d042f366f916c2ba8513ee62014e7256ceb53d
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;
+  }
+}