super-rest-api v4.35.0
SuperRestApi
This project propose tools to easily manage a NodeJS RestFul API with Express framework and Sequelize ORM. You just have to generate Sequelize Models and Routes
Environment Variables
You absolutely need to pass this arguments into the Super-Rest-API to work with it.
- NODE_ENV : development|production
- SECRET_KEY : A secret key ... whooooo. Keet it secret and make it strong !
- MYSQL_PREFIX : Prefix for all database. It can be null
- MYSQL_USER : Mysql user ... simply
- MYSQL_PASSWORD : Mysql password ... obvious
Architecture de l'API
- /appHost : Toutes les routes personnalisées
- /businessLogicLayer : La couche métier de l'application (controllers)
- /core : Tous les fichiers utilitaires
- /data : Tous les modèles sequelize
- /docs : Tous les fichiers de documentation
- /domain : Les objets / classes utilisés dans la couche métier
- /node_modules : Merci NPM !!! et vive NodeJS
- /schedulers : Les CRON services
/appHost
Vos routes personnalisée doivent être créées dans le dossier /appHost. Voici un exemple de fichier .js qui doit se trouver dans le dossier /appHost
il y a 4 paramètres possibles. Au delà de cela, il est recommandé d'utiliser des query parameters.
- :entity(string)
- :focus(integer)
- :string(string)
- :number(integer)
const qrcode = require("../businessLogicLayer/qrCode")
module.exports = [
{
name: `get new qrcode`,
method: "get",
route: `/:entity/contacts/:focus/qrcode`,
methods: [
qrcode.test,
],
},
]
- name: string, // Le nom de la route, Il ne peut pas y avoir deux fois le même nom de route dans la même API
- method : string delete|post|put|get, // Méthode utilisée
- route: string, // Route
- methods: Array, // Les méthodes (controllers) qui sont utilisées pour la route
/businessLogicLayer
Tout ce qui concerne la couche métier de votre API
qrCode.js
module.exports = {
test : () => {
}
}
/core
Tous les fichiers utilitaires généraux peuvent se trouver dans le core. En principe, super-rest-api doit être capable de tout faire pour éviter d'avoir un fichier dans ce dossier ci :) ...
/data
Data va contenir les modèles Sequelize. Ce dernier est un ORM et permet donc de générer des structures d'instance SQL. super-rest-api va faciliter le travail de génération des routes, controllers et appel base de données standardisés et liés à ces modèles en les générant automatiquement.
Router
La première classe de Super-Rest-Api est Router
const api = require("super-rest-api);
const myrouter = api.router.scan( __dirname ).build(); // génère automatiquement les routes depuis les fichiers qui sont dans le dossier /appHost et les modèles qui sont dans le dossier /data
Database
La seconde classe de Super-Rest-Api est Database
const api = require("super-rest-api);
const db = new api.database("test", process.env, "db" ).scan( __dirname );
db.Children.findAll({hooks : false}).then( (instances) => {
})
CustomType for Sequelize
PASSWORD ENCRYPTEDJSON ENCRYPTEDTEXT ENCRYPTEDSTRING ENCRYPTEDINTEGER ENCRYPTEDFLOAT
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago