@andersonalmeidax0/baseserver v0.3.6
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")
webserver
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
1 year ago