add files into repos
This commit is contained in:
parent
97357e33be
commit
63ddf02a4c
@ -49,7 +49,7 @@ var server = new Main(
|
|||||||
server.setSessionParams( // Зададим необходимые параметры для сессии
|
server.setSessionParams( // Зададим необходимые параметры для сессии
|
||||||
{
|
{
|
||||||
session_id : {
|
session_id : {
|
||||||
required : true,
|
required : false,
|
||||||
type : backend.types.integer
|
type : backend.types.integer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,6 +67,16 @@ class ExampleMethodGroup extends backend.Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Создаём классы методов
|
// Создаём классы методов
|
||||||
|
class ExampleAnyMethodsOfHandlingInformation extends backend.Method {
|
||||||
|
execute (params, session, groups) {
|
||||||
|
return {
|
||||||
|
json_data : params.json_name,
|
||||||
|
query_data : params.query_name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class ExampleMethod extends backend.Method {
|
class ExampleMethod extends backend.Method {
|
||||||
/*
|
/*
|
||||||
var result = this.MainObject.call(method : string, params : object) // Вызов подключённого метода
|
var result = this.MainObject.call(method : string, params : object) // Вызов подключённого метода
|
||||||
@ -100,6 +110,22 @@ class FileMethod extends backend.Method {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Создаём экземпляры классов
|
// Создаём экземпляры классов
|
||||||
|
var eamohi = new ExampleAnyMethodsOfHandlingInformation('handler', '/handler', {
|
||||||
|
queryName : {
|
||||||
|
required : true,
|
||||||
|
type : backend.types.string,
|
||||||
|
import_key : 'name',
|
||||||
|
allow_params : ['query']
|
||||||
|
},
|
||||||
|
jsonName : {
|
||||||
|
required : true,
|
||||||
|
type : backend.types.string,
|
||||||
|
import_key : 'name',
|
||||||
|
allow_methods : ['post'],
|
||||||
|
allow_params : ['json']
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var fileMethod = new FileMethod('file', '/file', {
|
var fileMethod = new FileMethod('file', '/file', {
|
||||||
file : {
|
file : {
|
||||||
required : true,
|
required : true,
|
||||||
@ -149,6 +175,7 @@ sumMethod.group(new ExampleMethodGroup({
|
|||||||
server.method(exampleMethod);
|
server.method(exampleMethod);
|
||||||
server.method(sumMethod);
|
server.method(sumMethod);
|
||||||
server.method(fileMethod);
|
server.method(fileMethod);
|
||||||
|
server.method(eamohi);
|
||||||
|
|
||||||
// Запускаем сервер
|
// Запускаем сервер
|
||||||
server.server('/api/v1').listen(8080, async (err) => {
|
server.server('/api/v1').listen(8080, async (err) => {
|
||||||
|
@ -92,6 +92,8 @@ class Method {
|
|||||||
checkKeys = new Array();
|
checkKeys = new Array();
|
||||||
paramScheme = {
|
paramScheme = {
|
||||||
required : false,
|
required : false,
|
||||||
|
import_key : param,
|
||||||
|
save_key : param,
|
||||||
type : this.isDynamic ? typesApi.dynamic : typesApi.unknown,
|
type : this.isDynamic ? typesApi.dynamic : typesApi.unknown,
|
||||||
allow_methods : ['get', 'post', 'put', 'delete'],
|
allow_methods : ['get', 'post', 'put', 'delete'],
|
||||||
conversion : false,
|
conversion : false,
|
||||||
@ -100,21 +102,21 @@ class Method {
|
|||||||
// Configure paramScheme
|
// Configure paramScheme
|
||||||
for (let key in paramsCompiles[param]) { paramScheme[key] = paramsCompiles[param][key]; }
|
for (let key in paramsCompiles[param]) { paramScheme[key] = paramsCompiles[param][key]; }
|
||||||
// check missible
|
// check missible
|
||||||
if (headers[param] != undefined & paramScheme.allow_params.indexOf('headers') != -1) { checkKeys.push('headers'); }
|
if (headers[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('headers') != -1) { checkKeys.push('headers'); }
|
||||||
if (json[param] != undefined & paramScheme.allow_params.indexOf('json') != -1) { checkKeys.push('json'); }
|
if (json[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('json') != -1) { checkKeys.push('json'); }
|
||||||
if (query[param] != undefined & paramScheme.allow_params.indexOf('query') != -1) { checkKeys.push('query'); }
|
if (query[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('query') != -1) { checkKeys.push('query'); }
|
||||||
if (body[param] != undefined & paramScheme.allow_params.indexOf('body') != -1) { checkKeys.push('body'); }
|
if (body[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('body') != -1) { checkKeys.push('body'); }
|
||||||
if (files[param] != undefined & paramScheme.allow_params.indexOf('files') != -1) { checkKeys.push('files'); }
|
if (files[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('files') != -1) { checkKeys.push('files'); }
|
||||||
if (cookies[param] != undefined & paramScheme.allow_params.indexOf('cookies') != -1) { checkKeys.push('cookies'); }
|
if (cookies[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('cookies') != -1) { checkKeys.push('cookies'); }
|
||||||
if (params[param] != undefined & paramScheme.allow_params.indexOf('params') != -1) { checkKeys.push('params'); }
|
if (params[paramScheme.import_key] != undefined & paramScheme.allow_params.indexOf('params') != -1) { checkKeys.push('params'); }
|
||||||
|
|
||||||
if (checkKeys.length == 0) {
|
if (checkKeys.length == 0) {
|
||||||
if (paramScheme.required) { required.missed.push(param); }
|
if (paramScheme.required) { required.missed.push(paramScheme.import_key); }
|
||||||
else { additional.missed.push(param); }
|
else { additional.missed.push(paramScheme.import_key); }
|
||||||
}
|
}
|
||||||
else if (paramScheme.allow_methods.indexOf(currentMethod) == -1) {
|
else if (paramScheme.allow_methods.indexOf(currentMethod) == -1) {
|
||||||
if (paramScheme.required) { required.unsyntax.push({param : param, description : formatMessage(this.error.httpMethodError, 'httpMethodError', paramScheme, currentMethod, param) }); }
|
if (paramScheme.required) { required.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error.httpMethodError, 'httpMethodError', paramScheme, currentMethod, paramScheme.import_key) }); }
|
||||||
else { additional.unsyntax.push({param : param, description : formatMessage(this.error.httpMethodError, 'httpMethodError', paramScheme, currentMethod, param)}); }
|
else { additional.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error.httpMethodError, 'httpMethodError', paramScheme, currentMethod, paramScheme.import_key)}); }
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
checkKeys = checkKeys.sort((a, b) => Number(b == 'query' || b == 'cookies') - Number(a == 'query' || a == 'cookies'));
|
checkKeys = checkKeys.sort((a, b) => Number(b == 'query' || b == 'cookies') - Number(a == 'query' || a == 'cookies'));
|
||||||
@ -124,25 +126,25 @@ class Method {
|
|||||||
for (let key in checkKeys) {
|
for (let key in checkKeys) {
|
||||||
switch (checkKeys[key]) {
|
switch (checkKeys[key]) {
|
||||||
case 'query' :
|
case 'query' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(query[param], true);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(query[paramScheme.import_key], true);
|
||||||
break;
|
break;
|
||||||
case 'cookies' :
|
case 'cookies' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(cookies[param], true);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(cookies[paramScheme.import_key], true);
|
||||||
break;
|
break;
|
||||||
case 'headers' :
|
case 'headers' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(headers[param], true);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(headers[paramScheme.import_key], true);
|
||||||
break;
|
break;
|
||||||
case 'body' :
|
case 'body' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(body[param], true);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(body[paramScheme.import_key], true);
|
||||||
break;
|
break;
|
||||||
case 'json' :
|
case 'json' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(json[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(json[paramScheme.import_key], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
case 'params' :
|
case 'params' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(params[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(params[paramScheme.import_key], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
case 'files' :
|
case 'files' :
|
||||||
[isSyntax, convertedValue] = paramScheme.type.syntax(files[param], paramScheme.conversion);
|
[isSyntax, convertedValue] = paramScheme.type.syntax(files[paramScheme.import_key], paramScheme.conversion);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (isSyntax) {
|
if (isSyntax) {
|
||||||
@ -151,11 +153,11 @@ class Method {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isSyntax) {
|
if (isSyntax) {
|
||||||
paramsEndless[param] = convertedValue;
|
paramsEndless[paramScheme.save_key] = convertedValue;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (paramScheme.required) { required.unsyntax.push({param : param, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, convertedValue, param) }); }
|
if (paramScheme.required) { required.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, convertedValue, paramScheme.import_key) }); }
|
||||||
else { additional.unsyntax.push({param : param, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, convertedValue, param)}); }
|
else { additional.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, convertedValue, paramScheme.import_key)}); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -180,42 +182,45 @@ class Method {
|
|||||||
paramScheme = {
|
paramScheme = {
|
||||||
required : false,
|
required : false,
|
||||||
type : this.isDynamic ? typesApi.dynamic : typesApi.unknown,
|
type : this.isDynamic ? typesApi.dynamic : typesApi.unknown,
|
||||||
|
import_key : param,
|
||||||
|
save_key : param,
|
||||||
allow_methods : ['get', 'post', 'put', 'delete'],
|
allow_methods : ['get', 'post', 'put', 'delete'],
|
||||||
conversion : false,
|
conversion : false,
|
||||||
allow_params : ['headers', 'json', 'params', 'query', 'body', 'files', 'cookies']
|
allow_params : ['headers', 'json', 'params', 'query', 'body', 'files', 'cookies']
|
||||||
};
|
};
|
||||||
for (let key in paramsCompiles[param]) { paramScheme[key] = paramsCompiles[param][key]; }
|
for (let key in paramsCompiles[param]) { paramScheme[key] = paramsCompiles[param][key]; }
|
||||||
if (params[param] === undefined) {
|
|
||||||
|
if (params[paramScheme.import_key] === undefined) {
|
||||||
if (paramScheme.required) {
|
if (paramScheme.required) {
|
||||||
required.missed.push(param);
|
required.missed.push(paramScheme.import_key);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
additional.missed.push(param);
|
additional.missed.push(paramScheme.import_key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let selectedSyntaxError = 'typeError';
|
let selectedSyntaxError = 'typeError';
|
||||||
[isSyntax, value] = paramScheme.type.syntax(params[param], paramScheme.conversion);
|
[isSyntax, value] = paramScheme.type.syntax(params[paramScheme.import_key], paramScheme.conversion);
|
||||||
if (!isSyntax) {
|
if (!isSyntax) {
|
||||||
if (paramScheme.required) {
|
if (paramScheme.required) {
|
||||||
required.unsyntax.push({param : param, description : this.error.typeError.split('{param}').join(param).split('{long_type}').join(paramScheme.type.long_name).split('{short_type}').join(paramScheme.type.short_name)});
|
required.unsyntax.push({param : paramScheme.import_key, description : this.error.typeError.split('{param}').join(paramScheme.import_key).split('{long_type}').join(paramScheme.type.long_name).split('{short_type}').join(paramScheme.type.short_name)});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
additional.unsyntax.push({param : param, description : this.error.typeError.split('{param}').join(param).split('{long_type}').join(paramScheme.type.long_name).split('{short_type}').join(paramScheme.type.short_name)});
|
additional.unsyntax.push({param : paramScheme.import_key, description : this.error.typeError.split('{param}').join(paramScheme.import_key).split('{long_type}').join(paramScheme.type.long_name).split('{short_type}').join(paramScheme.type.short_name)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
[isSyntax, selectedSyntaxError] = paramScheme.type.checkSchema(value, paramScheme);
|
[isSyntax, selectedSyntaxError] = paramScheme.type.checkSchema(value, paramScheme);
|
||||||
if (!isSyntax) {
|
if (!isSyntax) {
|
||||||
if (paramScheme.required) {
|
if (paramScheme.required) {
|
||||||
required.unsyntax.push({param : param, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, value, param)});
|
required.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, value, paramScheme.import_key)});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
additional.unsyntax.push({param : param, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, value, param)});
|
additional.unsyntax.push({param : paramScheme.import_key, description : formatMessage(this.error[selectedSyntaxError], selectedSyntaxError, paramScheme, value, paramScheme.import_key)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
params[param] = value;
|
params[paramScheme.save_key] = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user