From 6bb5bf07e2434cf146a5ff6171e949878ac90086 Mon Sep 17 00:00:00 2001
From: bertrand <bpinel@ippon.fr>
Date: Sun, 25 Nov 2018 17:35:22 +0100
Subject: [PATCH] First working version (not mentioning relationship handling).
 Still an error to fix when saving new data with Mirage

---
 addon/adapters/application.js                 |   7 ++
 app/adapters/application.js                   |   1 +
 .../__root__/__mirage__/factories/__name__.js |   2 +-
 .../controllers/entity-factory/__name__.js    |  17 +++--
 .../routes/entity-factory/__name__.js         |   2 +-
 .../templates/entity-factory/__name__.hbs     |   7 +-
 blueprints/entity-factory/index.js            |  65 +++++++++++++-----
 cloud/xmind/API Gateway.xmind                 | Bin 26648 -> 31201 bytes
 package.json                                  |   2 +-
 tests/unit/adapters/application-test.js       |  12 ++++
 10 files changed, 83 insertions(+), 32 deletions(-)
 create mode 100644 addon/adapters/application.js
 create mode 100644 app/adapters/application.js
 create mode 100644 tests/unit/adapters/application-test.js

diff --git a/addon/adapters/application.js b/addon/adapters/application.js
new file mode 100644
index 0000000..098a237
--- /dev/null
+++ b/addon/adapters/application.js
@@ -0,0 +1,7 @@
+import DS from 'ember-data';
+
+export default DS.JSONAPIAdapter.extend({
+    headers: {
+        "Content-Type": "application/json; charset=utf-8"
+      }
+});
diff --git a/app/adapters/application.js b/app/adapters/application.js
new file mode 100644
index 0000000..3fc80e2
--- /dev/null
+++ b/app/adapters/application.js
@@ -0,0 +1 @@
+export { default } from 'ember-aws-ehipster/adapters/application';
diff --git a/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js b/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js
index 09a958f..68ead11 100644
--- a/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js
+++ b/blueprints/entity-factory/files/__root__/__mirage__/factories/__name__.js
@@ -4,6 +4,6 @@ import {
   } from 'ember-cli-mirage';
   
   export default Factory.extend({
-    <%= fact.length ? '//default generated factory\n\t' + fact + '\n' : '' %>
+    <%= factories.length ? '//default generated factory\n\t' + factories + '\n' : '' %>
   })
   
\ No newline at end of file
diff --git a/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js b/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js
index 29bd1b3..b24e041 100644
--- a/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js
+++ b/blueprints/entity-factory/files/__root__/controllers/entity-factory/__name__.js
@@ -1,25 +1,30 @@
 import Controller from '@ember/controller';
 import { computed } from '@ember/object';
 import { A } from '@ember/array';
+import EmberObject from '@ember/object';
 
 export default Controller.extend({
 isAddingEntry: false,
 <%=ctrlVars%>
-<%=entity%>TableColumns: computed(function() {
+<%=singularEntityName%>TableColumns: computed(function() {
 var col = A([
-    <%=cols%>
+    <%=tableCols%>
 ]);
 return col;
 }),
 
-<%=entity%>TableContent: computed(function() {
+<%=singularEntityName%>TableContent: computed(function() {
  return this.get("model");
 }),
 
 actions: {
     submit() {
-	  this.set('addEntryModal', false); 
-	  console.log("Adding new entry");
-	},
+      event.preventDefault();
+      let newEntity = this.store.createRecord('<%=singularEntityName%>',<%=toCreateEntity%>);
+      newEntity.save();
+      this.set('addEntryModal', false).then((entry) => {
+        console.log("new entry of id "+entry.get('id')+" created");
+      }); 
+    }
   }
 });
\ No newline at end of file
diff --git a/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js b/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js
index b1804ca..c52f4ff 100644
--- a/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js
+++ b/blueprints/entity-factory/files/__root__/routes/entity-factory/__name__.js
@@ -2,7 +2,7 @@ import Route from '@ember/routing/route';
 
 export default Route.extend({
    model() {
-       return this.store.findAll('<%=entity%>');
+       return this.store.findAll('<%=singularEntityName%>');
    }
 
 });
\ No newline at end of file
diff --git a/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs b/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs
index 65fd2a4..25bb1d2 100644
--- a/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs
+++ b/blueprints/entity-factory/files/__root__/templates/entity-factory/__name__.hbs
@@ -1,10 +1,10 @@
 {{outlet}}
 <div class="container-fluid">
 
-<h2>List of <%=entity%></h2>
+<h2>List of <%=singularEntityName%> Entities</h2>
 {{models-table
-         data=<%=entity%>TableContent
-         columns=<%=entity%>TableColumns}}
+         data=<%=singularEntityName%>TableContent
+         columns=<%=singularEntityName%>TableColumns}}
 
 {{#bs-button onClick=(action (mut addEntryModal) true)}}
   Add new entry
@@ -14,7 +14,6 @@
   {{#modal.header}}
     <h4 class="modal-title">
       Add a new Entry
-      <div class="badge">2</div>
     </h4>
   {{/modal.header}}
   {{#modal.body}}
diff --git a/blueprints/entity-factory/index.js b/blueprints/entity-factory/index.js
index dde2216..6d629b1 100644
--- a/blueprints/entity-factory/index.js
+++ b/blueprints/entity-factory/index.js
@@ -3,6 +3,7 @@ const stringUtils = require('ember-cli-string-utils');
 const EOL = require('os').EOL;
 const path = require('path');
 const fs = require('fs');
+const nbFakeData = 8;
 
 module.exports = {
   description: 'Generates an ember-data model and the associated Mirage couterpart and screens.',
@@ -37,15 +38,30 @@ module.exports = {
   },
 
   locals(options) {
-    let attrs = [], cols = [], needs = [], fact = [], form = [], imports = {}, ctrlVars= [], paramObject = [];
+    // Used in app/models/__name__.js
+    let attrs = [];     // list the entity attributes with their types
+    // Used in app/controllers/entity-factories/__name__.js
+    let tableCols = []; // list the colums to be display in the table
+    let ctrlVars= [];   // list the attributes to be mapped to the form for creating new entity
+    let toCreateEntity = []; // Map attribute to value collected in the form
+    // Used in app/controllers/entity-factories/__name__.js and app/routes/__name__.js
+    let singularEntityName = options.entity.name;
+    // Used in app/templates/__name__hbs
+    let form = ['{{#bs-form formLayout="vertical" model=this onSubmit=(action "submit") as |form|}}'];      
+    //let form = [];
+
+    // Used in mirage/factories/__name__.js
+    let factories = []; 
+
+    // Used in mirage/models/__name__.js
+    let imports = {};
     let entityOptions = options.entity.options;
-    let entityName = options.entity.name;
-    let capitalizeEntityName = entityName.capitalize() ;
+    const rel = Object.keys(entityOptions).filter(key => 
+            (/has-many/.test(entityOptions[key]) || /belongs-to/.test(entityOptions[key])))
+            .map(key => '\n\t\t' + stringUtils.camelize(key) + relFunction(entityOptions[key]))
 
-    const rel = Object.keys(entityOptions)
-    .filter(key => (/has-many/.test(entityOptions[key]) || /belongs-to/.test(entityOptions[key])))
-    .map(key => '\n\t\t' + stringUtils.camelize(key) + relFunction(entityOptions[key]))
 
+    let needs = [];     //
     Object.values(entityOptions).forEach(value => {
       if (/has-many/.test(value)) {
         imports.hasMany = true
@@ -79,34 +95,40 @@ module.exports = {
       } else {
         attr = dsAttr(dasherizedName, dasherizedType);
         attrs.push(camelizedName + ': ' + attr);
-        cols.push("Ember.Object.create({\n\tpropertyName: \""+camelizedName+"\",\n\ttitle: \""+name+"\"\n}),");
+        tableCols.push("EmberObject.create({\n\tpropertyName: \""+camelizedName+"\",\n\ttitle: \""+name+"\"\n}),");
       }
 
       if (/has-many|belongs-to/.test(dasherizedType)) {
         needs.push("'model:" + dasherizedForeignModelSingular + "'");
       }
       if (!/has-many/.test(dasherizedType) && !/belongs-to/.test(dasherizedType)) {
-        fact.push('\n\t' + camelizedName + fakerize(dasherizedType));
+        factories.push('\n\t' + camelizedName + fakerize(dasherizedType));
         // todo Generate input form for creating entity (without any relationship)
-        form.push('{{input type="text" name="'+camelizedName+'" value='+camelizedName+' placeholder="'+camelizedName+'"}}');
+        let buttonType = "text";
+        if (type === 'boolean') {
+          buttonType = "checkbox";
+        } 
+        form.push('{{form.element controlType="'+buttonType+'" label="'+camelizedName+'" value='+camelizedName+' onChange=(action (mut '+camelizedName+')) placeholder="'+camelizedName+'"}}');
         ctrlVars.push(camelizedName+': null,');
+        toCreateEntity.push(camelizedName+": this."+camelizedName);
       }
     }
-
+    form.push('{{/bs-form}}');
     let needsDeduplicated = needs.filter(function(need, i) {
       return needs.indexOf(need) === i;
     });
 
     attrs = attrs.join(',' + EOL + '  ');
     needs = '  needs: [' + needsDeduplicated.join(', ') + ']';
-    cols = cols.join(EOL);
+    tableCols = tableCols.join(EOL);
+    toCreateEntity = '{'+toCreateEntity.join(',')+'}';
 
     return {
-      entity: entityName,
+      singularEntityName: singularEntityName,
       attrs: attrs,
-      cols: cols,
-      needs: needs,
-      fact: fact,
+      tableCols: tableCols,
+      toCreateEntity: toCreateEntity,
+      factories: factories,
       rel: rel,
       ctrlVars: ctrlVars.join(EOL),
       form: form.join(EOL),
@@ -128,7 +150,7 @@ module.exports = {
 
     // Complete /mirage/scenarios/default.js
     let mirageScenarioPath = (options.dummy) ? "tests/dummy/mirage/scenarios/default.js" : "mirage/scenarios/default.js";
-    let scenarioLine = '\tserver.createList\(\''+entityName+'\', 15\);\n';
+    let scenarioLine = '\tserver.createList\(\''+entityName+'\', '+nbFakeData+'\);\n';
     if (!fs.existsSync(mirageScenarioPath)) {
       this.ui.writeLine("Creating file "+mirageScenarioPath);
       let scenarioContent = "export default function(server) {\n"+scenarioLine+"}\n";
@@ -139,13 +161,18 @@ module.exports = {
 
     // Complete /mirage/config.js
     let mirageConfigPath = (options.dummy) ? "tests/dummy/mirage/config.js" : "mirage/config.js";
-    let configLine = "this.get('/"+inflection.pluralize(entityName)+"', '"+inflection.pluralize(entityName)+"');\n"
+    let configLine = "\t\tthis.get('/"+inflection.pluralize(entityName)+"', '"+inflection.pluralize(entityName)+"');"
     if (!fs.existsSync(mirageConfigPath)) {
       this.ui.writeLine("Creating file "+mirageConfigPath);
-      let configContent = "export default function() {\n\tthis.namespace = '';\n"+configLine+"}\n";
+      let configContent = "import ENV from './../config/environment';\n"+
+                          "export default function() {\n"+
+                          "\tthis.namespace = '';\n"+
+                          "\tif (!ENV.APP.proxy) {\n"+configLine+"\n\t} else {\n"+
+                          "\t\tthis.passthrough();\n\t}\n}\n";
       fs.writeFileSync(mirageConfigPath, configContent, 'utf-8','w+');
     } else {
-      addLineToFile(this, mirageConfigPath, /this\.namespace = \'\';/, configLine);
+      //addLineToFile(this, mirageConfigPath, /this\.namespace = \'\';/, configLine);
+      addLineToFile(this, mirageConfigPath, /if \(ENV\.APP\.proxy\) {/, configLine);
     }
 
     // Add route in router.js for the entity page
diff --git a/cloud/xmind/API Gateway.xmind b/cloud/xmind/API Gateway.xmind
index c939d5e7dcee43dfcc2be868ef53157f35f8479d..b23a3cc360c485de2f0e0902e22fbe8aefb568f5 100644
GIT binary patch
literal 31201
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

delta 16518
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

diff --git a/package.json b/package.json
index 153cd6e..e1f9e36 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ember-aws-ehipster",
-  "version": "0.0.4",
+  "version": "0.0.6",
   "description": "The default blueprint for ember-cli addons.",
   "keywords": [
     "ember-addon"
diff --git a/tests/unit/adapters/application-test.js b/tests/unit/adapters/application-test.js
new file mode 100644
index 0000000..eff23bb
--- /dev/null
+++ b/tests/unit/adapters/application-test.js
@@ -0,0 +1,12 @@
+import { module, test } from 'qunit';
+import { setupTest } from 'ember-qunit';
+
+module('Unit | Adapter | application', function(hooks) {
+  setupTest(hooks);
+
+  // Replace this with your real tests.
+  test('it exists', function(assert) {
+    let adapter = this.owner.lookup('adapter:application');
+    assert.ok(adapter);
+  });
+});
-- 
GitLab