Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Damien Armillon
API Toucan
Commits
29b256bf
Commit
29b256bf
authored
Nov 17, 2019
by
Damien Armillon
Browse files
You can give date limit to get Toucans
parent
2fbb1a6d
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
backend/.eslintrc.json
0 → 100644
View file @
29b256bf
{
"env"
:
{
"es6"
:
true
,
"node"
:
true
},
"extends"
:
"eslint:recommended"
,
"parserOptions"
:
{
"ecmaVersion"
:
2018
},
"rules"
:
{
"no-trailing-spaces"
:
"error"
,
"no-console"
:
"off"
,
"indent"
:
[
"error"
,
4
],
"linebreak-style"
:
[
"error"
,
"unix"
],
"quotes"
:
[
"error"
,
"double"
],
"semi"
:
[
"error"
,
"always"
]
}
}
\ No newline at end of file
backend/.template.env.json
View file @
29b256bf
...
...
@@ -9,13 +9,13 @@
{
"type"
:
"image"
,
"path"
:
"/home/
damie
n/Bureau/imgToucan"
,
"path"
:
"/home/
edsheebra
n/Bureau/imgToucan"
,
"knownMime"
:
[
"image/png"
,
"image/jpeg"
],
"extensions"
:
[
".png"
,
".jpeg"
]
},
{
"type"
:
"pdf"
,
"path"
:
"/home/
damie
n/Bureau/pdfToucan"
,
"path"
:
"/home/
edsheebra
n/Bureau/pdfToucan"
,
"knownMime"
:
[
"application/pdf"
],
"extensions"
:
[
"pdf"
]
}
...
...
backend/package.json
View file @
29b256bf
...
...
@@ -5,6 +5,9 @@
"repository"
:
"git@gitlab.viarezo.fr:2018armillond/api-toucan.git"
,
"author"
:
"Damien <damien.armillon@gmail.com>"
,
"license"
:
"MIT"
,
"scripts"
:
{
"lint"
:
"yarn eslint ."
},
"dependencies"
:
{
"axios"
:
"^0.18.0"
,
"body-parser"
:
"^1.18.3"
,
...
...
@@ -17,5 +20,8 @@
"mongoose"
:
"^5.5.3"
,
"multer"
:
"^1.4.1"
,
"querystring"
:
"^0.2.0"
},
"devDependencies"
:
{
"eslint"
:
"^6.6.0"
}
}
backend/routes/routesToucan.js
View file @
29b256bf
...
...
@@ -3,7 +3,7 @@ var fs = require("fs");
var
path
=
require
(
"
path
"
);
var
{
celebrate
}
=
require
(
"
celebrate
"
);
var
{
newToucan
,
validId
,
valid
Limi
t
}
=
require
(
"
../utils/schema
"
);
var
{
newToucan
,
validId
,
valid
Ge
t
}
=
require
(
"
../utils/schema
"
);
var
env
=
require
(
"
../.env
"
);
var
isLogged
=
require
(
"
../utils/authentification
"
);
var
upload
=
require
(
"
../utils/fileSaver
"
);
...
...
@@ -11,9 +11,19 @@ var Toucan = require("../models/modelToucan");
var
router
=
express
.
Router
();
router
.
route
(
"
/toucans
"
)
// Une route qui renvoie un json avec tous les toucans, si limit est défini et vaut n, on renvoie les n derniers toucans
.
get
(
celebrate
({
query
:
validLimit
}),
function
(
req
,
res
)
{
Toucan
.
find
()
/**
* Une route qui renvoie un json avec tous les toucans, si limit est défini et vaut n, on renvoie les n derniers toucans
* Si before et after sont définis (dates) on ne renvoie qu'entre ces dates
*/
.
get
(
celebrate
({
query
:
validGet
}),
function
(
req
,
res
)
{
let
options
=
{
"
date
"
:{}};
if
(
req
.
query
.
before
){
options
[
"
date
"
][
"
$lt
"
]
=
req
.
query
.
before
;
}
if
(
req
.
query
.
after
){
options
[
"
date
"
][
"
$gt
"
]
=
req
.
query
.
after
;
}
Toucan
.
find
(
options
)
.
sort
({
date
:
-
1
})
.
limit
(
req
.
query
.
limit
)
.
exec
(
function
(
err
,
toucans
)
{
...
...
backend/utils/schema.js
View file @
29b256bf
...
...
@@ -8,6 +8,10 @@ var newToucan = Joi.object({
});
var
validId
=
Joi
.
object
({
id
:
Joi
.
string
().
hex
().
length
(
24
).
required
()});
var
validLimit
=
Joi
.
object
({
limit
:
Joi
.
number
().
integer
()});
var
validGet
=
Joi
.
object
({
limit
:
Joi
.
number
().
integer
(),
before
:
Joi
.
date
().
timestamp
(),
after
:
Joi
.
date
().
timestamp
()
});
module
.
exports
=
{
newToucan
,
validId
,
validLimit
};
\ No newline at end of file
module
.
exports
=
{
newToucan
,
validId
,
validGet
};
\ No newline at end of file
backend/yarn.lock
View file @
29b256bf
This diff is collapsed.
Click to expand it.
doc/API.md
View file @
29b256bf
...
...
@@ -9,7 +9,8 @@ L'api possède les routes :
1.
`toucan/toucans`
:
*
`GET`
: Renvoie une liste contenant tous les toucans de la bdd. Les toucans sont sous la forme d'objets avec les champs _id, date et title.
*
`before`
: Timestamp en paramètre : ne renvoie que les toucans d'avant la date
*
`after`
: Timestamp en paramètre : ne renvoie les toucans que d'après la date
*
`limit`
: Int en paramètre, il permet de ne pas récupérer plus de limit toucans.
*
`POST`
: Permet de sauvegarder un toucan, prend en champs :
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment