add files into repos
This commit is contained in:
parent
1a56cc1990
commit
97357e33be
@ -50,8 +50,7 @@ server.setSessionParams( // Зададим необходимые параме
|
|||||||
{
|
{
|
||||||
session_id : {
|
session_id : {
|
||||||
required : true,
|
required : true,
|
||||||
type : backend.types.integer,
|
type : backend.types.integer
|
||||||
values : [1]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -94,7 +93,20 @@ class SumMethod extends backend.Method {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FileMethod extends backend.Method {
|
||||||
|
execute (params, session, groups) {
|
||||||
|
return JSON.stringify(params.file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Создаём экземпляры классов
|
// Создаём экземпляры классов
|
||||||
|
var fileMethod = new FileMethod('file', '/file', {
|
||||||
|
file : {
|
||||||
|
required : true,
|
||||||
|
type : backend.types.file()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var sumMethod = new SumMethod('sum', '/sum', {
|
var sumMethod = new SumMethod('sum', '/sum', {
|
||||||
a : {
|
a : {
|
||||||
required : true,
|
required : true,
|
||||||
@ -136,6 +148,7 @@ sumMethod.group(new ExampleMethodGroup({
|
|||||||
// Привяжем метод к основному проекту
|
// Привяжем метод к основному проекту
|
||||||
server.method(exampleMethod);
|
server.method(exampleMethod);
|
||||||
server.method(sumMethod);
|
server.method(sumMethod);
|
||||||
|
server.method(fileMethod);
|
||||||
|
|
||||||
// Запускаем сервер
|
// Запускаем сервер
|
||||||
server.server('/api/v1').listen(8080, async (err) => {
|
server.server('/api/v1').listen(8080, async (err) => {
|
||||||
|
@ -12,6 +12,9 @@ class ApiError extends Error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const debug = (text) => {}
|
||||||
|
|
||||||
|
|
||||||
class Main {
|
class Main {
|
||||||
constructor (sendHeaders = true) {
|
constructor (sendHeaders = true) {
|
||||||
this.sendHeaders = sendHeaders;
|
this.sendHeaders = sendHeaders;
|
||||||
@ -79,15 +82,19 @@ class Main {
|
|||||||
this.fileUploadConfig = fileUploadConfig;
|
this.fileUploadConfig = fileUploadConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
router (returnMiddlewareFunction = false, middlewareFunction = (req, res, next) => next(), debug = (text) => console.log(text)) {
|
router (returnMiddlewareFunction = false, middlewareFunction = (req, res, next) => next()) {
|
||||||
let router = express.Router();
|
let router = express.Router();
|
||||||
router.use(require('cookie-parser')());
|
router.use(require('cookie-parser')());
|
||||||
// parse various different custom JSON types as JSON
|
// parse various different custom JSON types as JSON
|
||||||
router.use(bodyParser.json({ type: 'application/*+json' }))
|
router.use(bodyParser.json({ type: 'application/*+json' }))
|
||||||
|
router.use(bodyParser.json({ type: 'application/json' }))
|
||||||
// parse some custom thing into a Buffer
|
// parse some custom thing into a Buffer
|
||||||
router.use(bodyParser.raw({ type: 'application/vnd.custom-type' }))
|
router.use(bodyParser.raw({ type: 'application/vnd.custom-type' }))
|
||||||
// parse an HTML body into a string
|
// parse an HTML body into a string
|
||||||
router.use(bodyParser.text({ type: 'text/html' }));
|
router.use(bodyParser.text({ type: 'text/html' }));
|
||||||
|
// parse application/x-www-form-urlencoded
|
||||||
|
router.use(bodyParser.urlencoded({ type: 'application/x-www-form-urlencoded', extended: false }))
|
||||||
|
|
||||||
// parse files
|
// parse files
|
||||||
router.use(require('express-fileupload')(this.fileUploadConfig));
|
router.use(require('express-fileupload')(this.fileUploadConfig));
|
||||||
|
|
||||||
|
@ -132,15 +132,15 @@ class Method {
|
|||||||
case 'headers' :
|
case 'headers' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(headers[param], true);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(headers[param], true);
|
||||||
break;
|
break;
|
||||||
|
case 'body' :
|
||||||
|
[isSyntax, convertedValue] = paramScheme.type.syntax(body[param], true);
|
||||||
|
break;
|
||||||
case 'json' :
|
case 'json' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(json[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(json[param], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
case 'params' :
|
case 'params' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(params[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(params[param], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
case 'body' :
|
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(body[param], paramScheme.conversion);
|
|
||||||
break;
|
|
||||||
case 'files' :
|
case 'files' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(files[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(files[param], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
|
26
package.json
26
package.json
@ -4,5 +4,29 @@
|
|||||||
"cookie-parser": "^1.4.6",
|
"cookie-parser": "^1.4.6",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"express-fileupload": "^1.4.0"
|
"express-fileupload": "^1.4.0"
|
||||||
}
|
},
|
||||||
|
"name": "njsbacker",
|
||||||
|
"version": "0.9.0",
|
||||||
|
"description": "Module for easy developing back-end projects at express.js",
|
||||||
|
"main": "index.js",
|
||||||
|
"devDependencies": {},
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/Nikiroy78/njsbacker.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"backend",
|
||||||
|
"back-end",
|
||||||
|
"express",
|
||||||
|
"express.js"
|
||||||
|
],
|
||||||
|
"author": "Nikiroy78",
|
||||||
|
"license": "ISC",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/Nikiroy78/njsbacker/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/Nikiroy78/njsbacker#readme"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user