diff --git a/app/controllers/PostsController.js b/app/controllers/PostsController.js
index 98181a2..5406b78 100755
--- a/app/controllers/PostsController.js
+++ b/app/controllers/PostsController.js
@@ -13,8 +13,25 @@ class PostsController extends Controller {
constructor() {
super(Post)
+ console.log("I am in PostsController");
}
+ findPublished(req, res, next) {
+ // Get all documents and filter with queries string (req.query : ex. http://domain.ext/api/?query=string)
+ // this.model.find(req.query, (err, documents) => {
+ console.log("in findPublished ");
+ // GET /search?q=tobi+ferret
+ // req.query.q
+ // => "tobi ferret"
+ this.model.find('req.query.publish' , (err, documents) => {
+ // this.model.find('/app/blog/posts/?publish=true' , (err, documents) => {
+ res.json(documents)
+ console.log("posts.publish", req.query.publish);
+
+ })
+ }
+
+
}
module.exports = PostsController
diff --git a/app/models/post.js b/app/models/post.js
index 06fe4da..bd38fc9 100755
--- a/app/models/post.js
+++ b/app/models/post.js
@@ -11,6 +11,12 @@ module.exports = mongoose.model('Post', new mongoose.Schema({
},
content: {
type: String
+ },
+ publishedAt: {
+ type: Date
+ },
+ publish: {
+ type: Boolean
}
}, {
timestamps: true
diff --git a/app/routes/posts.js b/app/routes/posts.js
index 672c9a2..6479a40 100755
--- a/app/routes/posts.js
+++ b/app/routes/posts.js
@@ -9,7 +9,7 @@ module.exports = (app) => {
// Create new controller
let ctrl = new PostsController();
- //GET (for READ) method
+ // //GET (for READ) method
app.get('/posts', (req, res, next) => {
return ctrl.find(req, res, next)
})
diff --git a/package.json b/package.json
index dc0a4ae..b0809ab 100644
--- a/package.json
+++ b/package.json
@@ -35,6 +35,7 @@
"express-jwt": "^5.1.0",
"jsonwebtoken": "^7.3.0",
"method-override": "~2.3.6",
+ "moment": "^2.18.1",
"mongoose": "^4.8.7",
"morgan": "~1.7.0",
"passport": "^0.3.2",
diff --git a/posts.json b/posts.json
new file mode 100644
index 0000000..61d3e10
--- /dev/null
+++ b/posts.json
@@ -0,0 +1,11 @@
+{"_id":{"$oid":"59098efab395541750ab50a1"},"updatedAt":{"$date":"2017-05-03T08:50:39.820Z"},"createdAt":{"$date":"2017-05-03T08:04:10.369Z"},"title":"Exercice 1","content":"elsadd@hotmail.fr \nle mot de passe c'est la première lettre de l'alphabet\n\n1. Ce qu’est un fork Github ?\n c'est quand on duplique un projet présent sur GitHub afin de le faire évoluer de son coté différemment de la version originale.\n\\n\n2. A quoi sert-il ?\n cela permet de faire des évolutions sans qu'li n'y ait d'impact sur la version d'origine tout en gardant un lien avec elle. De nombreux logiciels sont issus de Forks. \n\n3. Qu’est-ce qu’une pull request ? Quel est l’intérêt ?\n c'est du code qui est présenté aux propriétaires du projet afin d’être validé publiquement avant de l'intégrer (merge) dans le code existant du projet. Ce peut être en interne ou en externe. Cela permet d'intégrer des contributions.\n \n4. Qu’est-ce qu’une branche ?\n\"Créer une branche signifie diverger de la ligne principale de développement et continuer à travailler sans se préoccuper de cette ligne principale.\"\n cela permet de séparer le modifications de code et de les fusionner plus tard si on le souhaite\n\n5. Quelle est la différence entre une branche et un fork ? \nune branche appartient à un projet donné, un fork c'est un autre projet, qui a lui même ses propres branches.","__v":0,"publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"publish":true}
+{"_id":{"$oid":"5909946c41cbd21c20468bc8"},"updatedAt":{"$date":"2017-05-03T18:07:03.677Z"},"createdAt":{"$date":"2017-05-03T08:27:24.820Z"},"title":"exo 5 publishedAt","content":"Instructions : \nLors de l’ajout/édition d’un article, un troisième champ « date de publication » doit être visible et on doit pouvoir y inscrire une date\nL’usage d’un Datepicker est un gros plus mais pas indispensable. Si vous n’utilisez pas de datepicker, mettez au moins un message d’aide pour que l’utilisateur renseigne la date sous le bon format. \nLe contenu de ce champ doit apparaître sur la page de visualisation d’un article, en dessous de son titre : « publié le JJ-MM-AAAA »\nPensez à la mise à jour du schéma Mongoose pour l’enregistrement, réfléchissez à un bon nom de champs, en prenant exemple sur les « createdAt » / « updatedAt »","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"__v":0,"publish":true}
+{"_id":{"$oid":"5909963341cbd21c20468bc9"},"updatedAt":{"$date":"2017-05-03T20:54:32.295Z"},"createdAt":{"$date":"2017-05-03T08:34:59.426Z"},"title":"exo5","content":"Nous aimerions ajouter une date de publication à l’article sous la forme «JJ-MM-AAAA », par exemple : 03-05-2017.","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"__v":0,"publish":true}
+{"_id":{"$oid":"5909ee89848fc51ce01353b6"},"updatedAt":{"$date":"2017-05-03T18:31:38.771Z"},"createdAt":{"$date":"2017-05-03T14:51:53.136Z"},"title":"EXO 6","publishedAt":{"$date":"2017-05-03T22:00:00.000Z"},"content":"Ajouter un champ « publié » à l’article","__v":0,"publish":true}
+{"_id":{"$oid":"5909feacdd2af62e3fe6253d"},"updatedAt":{"$date":"2017-05-03T16:04:30.339Z"},"createdAt":{"$date":"2017-05-03T16:00:44.519Z"},"title":"exo16 export mongo","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"content":"mongoexport --db blog --collection posts --out posts.json\nmongoexport --db blog --collection users --out users.json","__v":0,"publish":true}
+{"_id":{"$oid":"590a0a4782f7713bdcac8f45"},"updatedAt":{"$date":"2017-05-03T18:11:19.947Z"},"createdAt":{"$date":"2017-05-03T16:50:15.392Z"},"title":"exo 11 debugg","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"__v":0,"content":"pb dans Mongo, arrive pas à faire ménage des anciens Id bookmark en double","publish":true}
+{"_id":{"$oid":"590a1cfb4fa3a545d429d612"},"updatedAt":{"$date":"2017-05-03T18:10:03.606Z"},"createdAt":{"$date":"2017-05-03T18:10:03.606Z"},"title":"test favori","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"__v":0,"publish":true}
+{"_id":{"$oid":"590a41e01aa4026008f6af0d"},"updatedAt":{"$date":"2017-05-03T20:47:28.893Z"},"createdAt":{"$date":"2017-05-03T20:47:28.893Z"},"title":"EXO6 not Published","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"content":"this article is not published","__v":0,"publish":false}
+{"_id":{"$oid":"590a42281aa4026008f6af0e"},"updatedAt":{"$date":"2017-05-03T20:48:40.042Z"},"createdAt":{"$date":"2017-05-03T20:48:40.042Z"},"title":"EXO6 Published yes","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"content":"article publié","__v":0,"publish":true}
+{"_id":{"$oid":"590a43b81aa4026008f6af0f"},"updatedAt":{"$date":"2017-05-03T20:55:45.723Z"},"createdAt":{"$date":"2017-05-03T20:55:20.955Z"},"title":"exo6","publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"content":"this.Publish no","publish":false,"__v":0}
+{"_id":{"$oid":"590a4b8d64ded768e72a0da9"},"updatedAt":{"$date":"2017-05-03T21:51:37.449Z"},"createdAt":{"$date":"2017-05-03T21:28:45.738Z"},"publish":true,"publishedAt":{"$date":"2017-05-02T22:00:00.000Z"},"title":"La MEAN Stack","content":"Angular\n1. A quoi elle sert ? C'est un framework MVC pour définir l'architecture du projet\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? On peut l'utiliser des 2 cotés front \u0026 back mais pas obligé\n3. Si elle est facultative ou non pour ce projet : non\nAngular UI Router\n1. A quoi elle sert ? C'est un outil qui permet de faciliter la navigation sur un site sans avoir à recharger toute la page, très pratique pour les sites Single page\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? En front car c'est pour afficher\n3. Si elle est facultative ou non pour ce projet, si on l'en lève on n'affiche plus rien sur notre site, il aurait fallu le concevoir différement.\nExpress\n1. A quoi elle sert ? C'est un framework basé sur Node .js pour construire le serveur\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? En back\n3. Si elle est facultative ou non pour ce projet, Non, si on n'a pas de serveur on n'a pas de données à afficher\nJSONWebToken\n1. A quoi elle sert ? C'est un standard utilisé pour l'authentification\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? front \u0026 back\n3. Si elle est facultative ou non pour ce projet. On peut faire autrement oui\nMongoose\n1. A quoi elle sert ? C'est pour l'accès à la base de données\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? Accès par le back et par le terminal on peut aussi\n3. Si elle est facultative ou non pour ce projet . Si on utilise une autre DB NoSQL oui\nMaterializeCSS\n1. A quoi elle sert ? C'est un framework pour le CSS\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? Coté front\n3. Si elle est facultative ou non pour ce projet, oui mais c'est moins joli et pratique à coder, on pourrait changer pour bootstrap\nPassport\n1. A quoi elle sert ? C'est pout l'authentification\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? Les deux\n3. Si elle est facultative ou non pour ce projet, on pourrait\nBabel\n1. A quoi elle sert ? C'est un compilateur pour la rétrocompatibilité avec d'anciens navigateurs\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? front\n3. Si elle est facultative ou non pour ce projet. Oui si notre navigateur est à jour avec les technos utilisées\nSCSS\n1. A quoi elle sert ? Ça prend moins de place que le css\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? front\n3. Si elle est facultative ou non pour ce projet. oui\nNodemon\n1. A quoi elle sert ? Ça sert au dev . C'est un service qui relance les scripts en cas de modifications, on voit les résultats (ok ou Ko) sur le terminal\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? Que en dev - Back affiché sur terminal. Se trouve dans \"devDependencies\" du package.json\n3. Si elle est facultative ou non pour ce projet, oui mais pour tester et débuger c'est plus pratique\nWebpack\n1. A quoi elle sert ? Comme audessus mais coté front Ça sert au dev, regénère le js pour l'afficher sans tout rafraichir\n2. Où va-t-on l’utiliser ? Que en dev- Front affiché sur terminal. Se trouve dans \"devDependencies\" du package.json\n3. Si elle est facultative ou non pour ce projet, oui mais pour tester et débuger c'est plus pratique\n\nLivereload \n1. A quoi elle sert ? pour rafraichir le navigateur automatiquement (au lieu de faire F5)\n2. Où va-t-on l’utiliser (côté front, côté back, front \u0026 back, terminal…) ? Que en dev- Front \n3. Si elle est facultative ou non pour ce projet, oui mais pour tester et débuger c'est plus pratique","__v":0}
diff --git a/public/js/app.js b/public/js/app.js
index 72c1c02..07a6c09 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -15,10 +15,11 @@ import services from './services/services.md'
import common from './components/common/common.md'
import login from './components/login/login.md'
import blog from './components/blog/blog.md'
+import algo1 from './components/algo1/algo1.md'
console.log("In app.js")
console.log(services)
-
+
angular.module('app', [
angularUIRouter,
angularCookies,
@@ -27,5 +28,6 @@ angular.module('app', [
services,
common,
login,
- blog
+ blog,
+ algo1
])
diff --git a/public/js/components/algo1/algo1.html b/public/js/components/algo1/algo1.html
new file mode 100644
index 0000000..98a48f0
--- /dev/null
+++ b/public/js/components/algo1/algo1.html
@@ -0,0 +1,12 @@
+ {{$ctrl.myFriend}}algo1
+
+ + + Publié le {{$ctrl.post.publishedAt | date: "dd-MM-yyyy"}} + + + + +