@andersonalmeidax0/baseserver
v0.3.6
Published
Base API Server with autoreg,swagger/logs
Downloads
17
Readme
BaseServer
1 Log
2 Registra automaticamente apis com anotaçoes ==> colocar api classes em diretorio "api" . Usar anotaçoes
3 Gera swagger de apis - Usar anotaçoes
how to use:
- Create server
refs from s3
https://rishabhsharma.bio/uploading-media-to-s3-bucket-with-node-js-and-multer-middleware-8d720c2486a1
https://abbaslanbay.medium.com/uploading-files-to-aws-s3-with-multer-and-the-node-js-aws-sdk-7cad8dc87fc2
https://dev.to/lakshmyps/upload-file-to-aws-s3-using-react-nodejs-5ffj
Example
/**
* Gera documentação swagger e UI de API.
* Para isto é necessário informas o path para instrospection, e colocar anotações:
* [VERBO] [PATH/ENTITY]
* @tags [ENTITY]
* @param {[TYPE]} request.body
*
* Para registrar typos
* @typedef {object} [Type]
* @property {string,object,number} [name]
*/
const { BaseServer } = require("./BaseServer");
class AppServer extends BaseServer {
customInit() {
console.log('customInit');
}
getRequestContext(req) {
return {};
}
}
var app=express();
var dbContext ={};
let server = new AppServer(PORT, app,dbContext);
server.init();
server.registerUtils();
server.registerSwaggerDoc();
server.registerAPIs();
server.registerRoutes();
/*
app._router.stack.forEach(function(r){
if (r.route && r.route.path){
console.log(r.route.path)
}
})
*/
server.listen().catch(console.error);;
TryCatchWrapper
validate return of fn and translater to HTTP status codes
if ok ===> 200
if r.inserterID ==> 201
if r == null ==> 404
if error.code = 11000 (dupkey) ==> 409
if rangeError ==> 422
else ==> 500
DBBaseController (mongodb)
util class to perform mongoDB operations simplified interface to mongoDB DBBaseController(dbcontext, coll, dtoFactory)
validateDefinedAndFilter
with object, validate if keys are defined, and filter
Ex: validateDefinedAndFilter(obs,"name","customer")